Cookie与Filter实现SSO单点登录详解

需积分: 13 13 下载量 14 浏览量 更新于2024-07-23 收藏 1.25MB PDF 举报
本文档主要介绍了单点登录(Single Sign-On, SSO)的相关技术及其在IT系统中的应用。SSO是一种允许用户在一个系统中登录后,无需再次输入用户名和密码即可访问其他关联系统的身份验证方法,提高了用户体验和安全性。 1. **Cookie在SSO中的应用**: - Cookie被用来存储用户的登录状态。设置Cookie路径为"/"确保在整个Tomcat服务器下的所有子目录都能识别该Cookie,如bbs.itcast.com和mail.itcast.com。设置域为".itcast.com"实现跨域功能,使得用户在不同子域名间登录状态保持一致。 - 为了提供持续的登录体验,即使用户未选择自动登录,也应设定合理的Cookie过期时间,以便在浏览器未关闭时保持有效。 2. **使用Filter实现自动登录过程**: - 首先,需在本地主机DNS(通过hosts文件)配置多个虚拟主机,如bbs和mail等,以模拟不同的网站实例。在server.xml文件中添加相应的Host节点,确保每个站点的主域名(如xxx.itcast.cn)保持一致。 - 在bbs或mail的虚拟目录下开发一个基于Java的Filter,用于处理用户登录请求。登录页面包含用户名、密码输入框和自动登录选项。当用户访问时,如果session中已有用户信息,则显示欢迎信息;否则,显示登录表单供用户填写。 - 当用户提交登录请求后,Filter会检查session,如果存在用户信息则自动填充或直接跳转到已登录状态,如果没有则处理登录逻辑。 通过以上步骤,单点登录技术简化了用户的认证流程,提升了系统间的协同工作效率,并降低了管理多个账号的复杂性。同时,正确设置Cookie和使用Filter能够确保数据的安全性和用户隐私。在实际部署中,开发者需要注意遵循最佳实践,如使用HTTPS保护敏感信息,定期更新和审计安全策略,以维护系统的稳定性和安全性。
2013-11-30 上传
CAS 单点登录 多数据库 SSO 1、 单点登录概述 单点登录的英文名称为Single Sign-On,简写为SSO,它是一个用户认证的过程,允许用户一次性进行认证之后,就访问系统中不同的应用;而不需要访问每个应用时,都重新输入密码。IBM对SSO有一个形象的解释“单点登录、全网漫游”。 SSO将一个企业内部所有域中的用户登录和用户帐号管理集中到一起,SSO的好处显而易见: 1. 减少用户在不同系统中登录耗费的时间,减少用户登录出错的可能性 2. 实现安全的同时避免了处理和保存多套系统用户的认证信息 3. 减少了系统管理员增加、删除用户和修改用户权限的时间 4. 增加了安全性:系统管理员有了更好的方法管理用户,包括可以通过直接禁止和删除用户来取消该用户对所有系统资源的访问权限 对于内部有多种应用系统的企业来说,单点登录的效果是十分明显的。很多国际上的企业已经将单点登录作为系统设计的基本功能之一。 1.1 单点登录产品 商业SSO软件  专门的SSO商业软件  主要有:Netgrity的Siteminder,已经被CA收购。Novell 公司的iChain。RSA公司的ClearTrust等。  门户产品供应商自己的SSO产品,  如:BEA的WLES,IBM 的Tivoli Access Manager,Sun 公司的identity Server,Oracle公司的OID等。 上述商业软件一般适用于客户对SSO的需求很高,并且企业内部采用Domino、SAP、Sieble等系统比较多的情况下。单点登录产品通常需要在应用软件中增加代理模块,而商业SSO产品主要针对大型软件制作了代码模块。 因此,商业SSO软件除了价格问题外,另一个重要问题就是对客户自己的应用系统支持未必十分完善。