tomcat 单点登录 SSO 原理分析
来源:互联网 发布:数据脱敏是什么意思 编辑:程序博客网 时间:2024/05/17 07:27
tomcat的单点登录功能应用场景:在多个应用之间共享用户角色,只需要在一个应用上登录后就可以免去在其它应用上登录认证,
关于应用的安全配置和角色要求,请看:tomcat 安全认证 Realm 及 多种类型 Realm 配置
http://blog.csdn.net/conquer0715/article/details/78206874
tomcat的单点登录功能仅限在同一个虚拟主机(Host)下使用,配置方式也非常简单,只需要在对应的虚拟主机(Host)上配置一个 单点登录的阀门即可,
找到 tomcat server.xml 在 <Host> 节点下添加以下内容即可配置该虚拟主机的单点登录功能:
<Valve className="org.apache.catalina.authenticator.SingleSignOn"/>
好了,这样就可以了,假设我们有两个应用,都需要 admin 角色,在其中一个应用用户登录并认证成功后,访问另一个页面的admin角色受限资源可直接成功,而无需要再登录认证。
原理分析:
org.apache.catalina.authenticator.SingleSignOn 是 tomcat 的 Host 级别的阀门,即在进入所有的应用之前先要经过的阀门,其内部逻辑是这样的,从请求中获取名字为
JSESSIONIDSSO的Cookie值,然后查找本Host的应用是否已经对该JSESSIONIDSSO授权过,如果有就将用户凭证信息存入当前Request对象,这样在后续Request对象经过应用级别(Context)阀门的时候去验证用户凭证就会直接验证通过。
问题:Cookie不能跨越同源策略,那么 JSESSIONIDSSO 是如果从一个应用中创建而又能带如另外一个应用呢,我们通过浏览器的调试工具查看该Cookie就清楚了,
它和 JSESSIONID 唯一的不同就是其 Path,它的Path 是 “/”,而JSESSIONID的Path是应用访问名称,如“/web”,对Cookie了解的都清楚,当Cookie的Path为 / 的时候,就可以带入到同一个Host下的所有应用了。
- tomcat 单点登录 SSO 原理分析
- 单点登录SSO原理
- SSO单点登录原理
- SSO单点登录原理
- SSO单点登录原理
- SSO单点登录原理
- 单点登录系统SSO原理
- 单点登录系统SSO原理
- 单点登录系统SSO原理
- 单点登录(SSO)原理
- CAS实现单点登录(sso)原理分析
- 编写你自己的单点登录(SSO)服务——sso原理分析
- Tomcat共用Session实现SSO单点登录
- 单点登录SSO的实现原理
- 单点登录SSO的实现原理
- CAS实现SSO单点登录原理
- 单点登录SSO的实现原理
- CAS实现SSO单点登录原理
- ThreadPoolExecutor线程池源码分析
- Java 加密解密zip文件(亲测有效,附源码和jar包)
- PHP-BOM
- Ubuntu 17.10 将“关闭、最小化、最大化”按钮移动到标题栏左侧
- Django 博客
- tomcat 单点登录 SSO 原理分析
- 移动端证件识别采用视频预览模式识别
- Android studio 错误 (10048)的错误:解决通常每个套接字地址(协议/网络地址/端口)只允许使用一次。
- TOP100summit2017:网易测试总监钱蓓蕾——新时代测试正走向精英化、自动化、智能化
- WEEK4 JAVA 作业
- JavaScript 实现全选,分组全选,列表折叠。
- Smoke Test & Daily Build
- 单链表
- python条件、循环、终止