- 浏览: 28373 次
- 性别:
- 来自: 广州
文章分类
最新评论
-
cevin15:
jak&jin 写道 学习了,小强写的文章很不错~~ ...
使用过滤器Filter解决tomcat默认编码配置下的传值乱码 -
jak&jin:
学习了,小强写的文章很不错~~ ,保存起来再说
使用过滤器Filter解决tomcat默认编码配置下的传值乱码 -
aki319:
...
Html的一些小经验
看到篇博文,是关于单点登录的。
根据这个博文,自己动手尝试了一下这种单点登录解决方案,当然,这个解决方案有个缺陷,就是有个前提,应用必须能够共享cookie。
记下思路,作为备忘。
1、关于cookie的设置。cookie使用了setDomain和setPath,这样才能保证这个cookie能被所有应用共享。
2、用cookie来保存用户已登录的状态。在注销用户时,把该cookie设置过期,当然,也要使用setDomain和setPath。
3、使用了三个web project来做练习,一个作为登录验证系统,另外两个应用系统,代码基本相同。应用系统配置filter来过滤访问请求。
过滤器代码
登录验证系统的登录代码
引用
编写你自己的单点登录(SSO)服务:http://blog.csdn.net/javachannel/article/details/752437
根据这个博文,自己动手尝试了一下这种单点登录解决方案,当然,这个解决方案有个缺陷,就是有个前提,应用必须能够共享cookie。
记下思路,作为备忘。
1、关于cookie的设置。cookie使用了setDomain和setPath,这样才能保证这个cookie能被所有应用共享。
引用
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com"),这个参数必须以“.”开始。 ;
2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com"),这个参数必须以“.”开始。 ;
2、用cookie来保存用户已登录的状态。在注销用户时,把该cookie设置过期,当然,也要使用setDomain和setPath。
3、使用了三个web project来做练习,一个作为登录验证系统,另外两个应用系统,代码基本相同。应用系统配置filter来过滤访问请求。
过滤器代码
public class UserFilter implements Filter { private static String loginUrl = ""; public void destroy() { } public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletRequest req = (HttpServletRequest) request; HttpServletResponse resp = (HttpServletResponse) response; if (isCookieLogined(req)) { chain.doFilter(request, response); } else { String fromUrl = req.getRequestURL().toString(); resp.sendRedirect(loginUrl + "?fromUrl=" + fromUrl); } } public void init(FilterConfig filterConfig) throws ServletException { loginUrl = filterConfig.getServletContext().getInitParameter("loginUrl"); } private boolean isCookieLogined(HttpServletRequest req) { Cookie[] cookies = req.getCookies(); if(cookies!=null){ for (Cookie cookie : cookies) { if (cookie.getName().equals("user")&&cookie.getValue()!=null) { //TODO:此处应该调用auth的cookie验证方法 return true; } } } return false; } }
登录验证系统的登录代码
public class LoginServlet extends HttpServlet { private static final long serialVersionUID = -8212504322196762878L; private static ConcurrentMap<String, String> userMap = new ConcurrentHashMap<String, String>(); public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String fromUrl = request.getParameter("fromUrl"); request.setAttribute("fromUrl", fromUrl); request.getRequestDispatcher("index.jsp").forward(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String user = request.getParameter("user"); if(this.isRegister(user)){ this.saveCookie(user, response); String fromUrl = request.getParameter("fromUrl"); response.sendRedirect(fromUrl); } } @Override /** * 初始化数据 */ public void init() throws ServletException { userMap.put("cevin", "cevin"); userMap.put("aki", "aki"); } private boolean isRegister(String user){ if(userMap.get(user)!=null){ return true; } return false; } private void saveCookie(String user, HttpServletResponse response){ Cookie cookie = new Cookie(CommonUtils.COOKIE_USER, user); cookie.setDomain(getServletContext().getInitParameter("domain")); cookie.setMaxAge(Integer.parseInt(getServletContext().getInitParameter("cookieLife"))); cookie.setPath("/"); response.addCookie(cookie); } }
发表评论
-
shell的学习笔记
2013-08-17 13:02 817最近在找工作,前些天被问起shell的问题。发现这块真是自己的 ... -
jwebap,监控web应用的jdbc,http请求,java类
2012-12-05 18:11 882最近在用jwebap。一个用来检测web应用的jdbc链接,h ... -
Tomcat的一些琐事
2012-08-29 17:58 916记录一些tomcat相关的操作问题,备忘 Tomcat “指 ... -
MySql 根据某个字段合并某一列数据
2012-06-06 09:40 0查询语句 SELECT productId, GROUP_CO ... -
Spring框架用注解进行事务控制
2012-05-18 18:07 1456今天纠结了一天呀~~就为了个注解事务控制。 其实很久以前就用过 ... -
oracle.sql.CLOB 转 String
2012-04-27 18:24 2003最近在用oracle数据库,有个oracle.sql.CLOB ... -
对内容列表按英文字母进行排序
2012-01-12 16:45 2223实现对内容列表,比如说种类,地方名按英文字母进行排序。效果如下 ... -
web开发常用组件备忘
2011-11-15 18:49 1319分享一些web开发经常用到的组件,也给自己做个备忘。 1、K ... -
IndexWriter.DeleteDocument与IndexReader.DeleteDocument区别
2011-10-31 15:28 1209转自http://www.cnblogs.com/zengen ... -
J2EE数据验证的一些开发建议
2011-08-30 17:03 1740说在前面:非原创。 输入数据验证:虽然为了用户的方便,可以提 ... -
web应用dao层的开发经验小结
2011-07-05 13:08 1273框架用多了,也有些腻。虽然struts2,spring,hib ... -
使用oscache加速你的web程序
2011-06-28 15:31 1327网上找了一下关于web开发方面可使用的缓存技术,发现oscac ... -
Html的一些小经验
2011-06-15 14:03 949写篇文章记录一下做web过程的一些小经验。打算以后想到就补充这 ... -
使用过滤器Filter解决tomcat默认编码配置下的传值乱码
2011-06-08 13:56 2341最近又拿起jsp+servlet来做项目,遇到了乱码的问题。解 ... -
【转载】MySQL索引类型一览 让MySQL高效运行起来
2011-05-24 11:20 958在网上看到篇介绍MySql索引的文章,觉得不错。转到自己博客, ... -
Tomcat设置网页超链接默认打开映射
2011-05-17 10:42 1241Tomcat设置网页超链接默认打开映射,可以修改tomcat/ ... -
关于Spring的事务管理,基于XML
2011-04-02 14:45 953在Spring中常用的事务传播行为 PROPAGATION ... -
Linux下Tomcat相关的一些命令
2011-03-29 20:29 923启动tomcat: ./startup.sh 关闭tomc ... -
String 与 InputStream互相转换
2011-01-28 11:46 1009String与InputStream互转 1. String ... -
MySql数据在控制台里的导入和导出
2010-12-16 10:35 1691在windows系统下需要进入mysql安装目录中的bin目录 ...
相关推荐
单点登录(Single Sign-On,简称SSO)是一种在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的技术。在这个示例中,我们将通过"Iframe+Cookie"的方式探讨如何实现简单的SSO。 首先,理解...
在这个“单点登录的demo(使用cookie+filter实现)”中,我们将深入探讨如何利用Cookie和Filter技术来实现一个简单的SSO系统。 **一、Cookie基础** Cookie是Web服务器存储在用户浏览器上的一小段数据,用于在用户与...
综上所述,sso_bbs(v2)项目是通过Cookie和Filter技术实现单点登录的一个实例,它涉及到用户认证、请求过滤、安全策略等多个方面,是理解SSO机制和Web应用程序安全设计的重要案例。通过分析和实践这个项目,开发者...
SSO(Single Sign-On)单点登录是一种...总结,通过cookie和JSONP的结合,我们可以构建一个基本的SSO系统,实现跨域的单点登录功能。然而,实际应用中还需考虑更多的安全措施和扩展性需求,以适应不断变化的网络环境。
JEECG智能开发平台的单点登录(SSO)功能是通过集成Kisso实现的,Kisso是一个轻量级Java权限框架,它利用加密会话cookie机制来实现单点登录服务。单点登录是一种用户登录认证方法,允许用户在多个应用系统中,只通过...
.NET Core 2.0 和 MVC 框架的结合为开发者提供了一个强大的平台来构建现代Web应用程序,包括实现单点登录(SSO)系统。在SSO系统中,用户只需登录一次,就可以访问多个相互关联的应用程序,无需多次输入认证信息。本...
SAML提供了定义XML消息格式的标准,可以用于实现单点登录功能。 #### 四、总结 单点登录技术解决了多系统应用集群中的认证和授权问题,提高了用户体验的同时也加强了安全性。通过对会话机制的理解以及单点登录的...
为了提升用户体验,RTX支持与其他应用系统集成,实现单点登录功能。 **Session Key的角色:** Session Key是在Web应用程序中用于安全会话管理的一个重要概念。当用户成功登录应用系统时,服务器会生成一个唯一的...
- Kisso实现单点登录(SSO)使用的是加密会话cookie机制,这为系统提供了“无状态”和“分散验证”的特点。 - session信息存放在服务器端,而cookie则存放于客户端,存在两种状态。持久cookie具有时效性,文件形式...
redmine本身没有提供单点登录功能,这个插件可以提供redmine的单点登录。解压后将这两个文件放置在redmine目录的plugins目录中。具体操作参照README.md。每个解压文件中都有个EADME.md
在IT行业中,C#.NET框架提供了丰富的功能来实现跨域单点登录。下面将详细讲解如何在ASP.NET环境下实现这一功能。 首先,SSO的核心在于有一个中心认证服务器,它负责验证用户的登录状态。在本案例中,`MasterSite`...
总结,"sso-use-cookie"项目通过SpringBoot和Cookie实现了单点登录功能,适合有一定Spring基础的学习者了解SSO的基本原理和实践。通过深入学习和理解这个项目,开发者能够掌握如何在实际项目中应用SSO,提升系统的...
假设一家公司希望在其内部多个业务系统间实现单点登录功能,可以通过以下步骤来实现: 1. **需求调研**:收集各部门对SSO的需求。 2. **技术选型**:决定采用OAuth 2.0协议和JWT(JSON Web Token)作为Token格式。 3...
这时可以使用Cookie的`Domain`属性设置允许访问的域,或者使用单点登录(Single Sign-On, SSO)技术。 5. **安全考虑**: - 不要在Cookie或Session中存储敏感信息,如明文密码。最好只存储一个可以验证身份的标识...
**JWT实现的单点登录系统Demo详解** 单点登录(Single Sign-On,简称SSO)是一种用户在多个应用系统中只需登录一次即可访问所有系统的身份验证机制。在现代Web应用程序中,SSO已经成为提高用户体验、简化管理的重要...
SSO(Single Sign-On)单点登录是一种身份验证机制,允许用户在一次登录后访问多个相互关联的应用系统,而无需再次进行身份验证。在Java环境中,实现SSO的一个常见方式是通过Cookie。Kisso是一个基于Cookie的轻量级...
总的来说,Web单点登录并禁止多用户登录的实现涉及多个层面的技术和策略,包括会话管理、权限控制、异常检测和响应机制,这些都是构建安全、高效网络服务的重要组成部分。通过合理的系统设计和实现,可以有效保护...
下面我们将深入探讨单点登录的工作原理、实现方式及其在实际应用中的关键点。 ### 单点登录的工作原理 SSO的核心思想是用户只需要验证一次身份,然后在整个系统或网络中被识别。这个过程通常涉及以下步骤: 1. ...