java SSO 之Cas 笔记
最近项目比较大,子系统比较多,有要使用单点登录的需求,这就使用cas serive
集成的步骤:
可以直接下载cas-server,运行起来。
步骤大概这样:
1. 运行cas-server服务
2. 让cas-server通过jdbc进行认证
3. 修改cas-server的登录页面
4. 让业务系统与cas-client集成
使用CAS实现SSO简洁教程
单点登录的原理是通过拦截你设定的URL,并跳转到你指定的CAS
SERVER登录页,当你登录成功后,带着TICKET,返回到你打开的URL。然后你就可以一票在手,畅通无阻。
说明:cas - server :4.0.0版本 已经 以前的 3.x 版本直接提供的有
但是4之后还有5开始不提供war包,要自己用官网的工具打成war包;(maven和gradle)都支持,两个工具
cas 5.x 开始使用spring boot 和之前完全不一样。
报错:未能够识别出目标 'ST-11-b5ol1MCscnxEXXrNxTgp-cas01.example.org'票根
票据已经失效 解决CAS客户端验证ST票据时发生的TicketValidationException问题
请求登陆;验证票据;登录成功;
登陆client,302重定向到serve
http://xx.com:82/cas/login?service=http://xx.com:82/safety/shiro-cas
http://xx.com:82/safety/shiro-cas?ticket=ST-12-FE3tWTyKbvkqda3V4MIq-cas01.example.org
自己遇到的坑,cas client 和 cas 服务器都配置好了,但是 不同系统之间还是不能同时登录和退出,结果,错误原因是:
http://www.baidu.com 和 http://baidu.com 是不一样的;
cas 3.0/4.0学习:
1:默认账户密码 cas/cas ,账号和密码相同,处理类SimpleTestUsernamePasswordAuthenticationHandler
2:
<!--dazer 段大志 去掉原始的验证登录的处理器-->
<bean
class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler" />
<!--dazer start -->
<bean id="testAuthenticationHandler" class="org.jasig.cas.authentication.handler.support.SimpleTestUsernamePasswordAuthenticationHandler"/>
<bean id="databaseAuthenticationHandler" class="org.jasig.cas.adaptors.jdbc.QueryDatabaseAuthenticationHandler">
<property name="dataSource" ref="dataSource"/>
<property name="sql" value="select ac.password from account_info ai,account_credential ac where ai.username=? and ai.id=ac.account_id"/>
<property name="passwordEncoder" ref="md5PasswordEncoder"/>
</bean>
<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
<property name="driverClassName"><value>oracle.jdbc.OracleDriver</value></property>
<property name="url"><value>jdbc:oracle:thin:@121.196.194.52:1521:orcl</value></property>
<property name="username"><value>CBL_OA</value></property>
<property name="password"><value>W1Q2W3E4R5T88cbl</value></property>
</bean>
<bean id="md5PasswordEncoder" class="demo.CustomPasswordEncoder"/>
<!--dazer end -->
详细见截图:
基于CAS实现单点登录(SSO):登录成功后,cas client如何返回更多用户信息
http://blog.csdn.net/matthewei6/article/details/50709252单点登录cas常见问题系列汇总
- 持续更新
上一篇: 两人吵架闹分手后怎么处理
下一篇: 从手相婚姻线就可以看出你的感情运势