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 官网

对应github地址:

cas github 首页

说明:cas - server :4.0.0版本 已经 以前的 3.x 版本直接提供的有 


但是4之后还有5开始不提供war包,要自己用官网的工具打成war包;(maven和gradle)都支持,两个工具


cas 5.x 开始使用spring boot 和之前完全不一样。


学习资料-Apereo CAS 5.0



CAS 学习值慕课网学习  SSO CAS单点系列


5.x CAS 默认密码:casuser
application.properties  中的 cas.authn.accept.users= casuser:: Mellon




相关学习:spring security 配合 cas ;  shiro 配合cas;














cas 原理图




4.x一下的常见配置: deployerConfigContext.xml;   spring-configuration/ticketGrantingTicketCookieGenerator.xml




报错:未能够识别出目标 '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

http://www.xxx.com:82/cas/serviceValidate?ticket=ST-14-ncH011jbmpoTb5eqfC6f-cas01.example.org&service=http%3A%2F%2Flocalhost%3A8888%2Foa%2Fj_spring_cas_security_check

状态码302标示资源被重定向到新的地址:



CAS系列课程




自己遇到的坑,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常见问题系列汇总 - 持续更新

http://blog.csdn.net/matthewei6/article/details/50709252


CAS—注销登录后跳转到登录页



猜你喜欢

转载自blog.csdn.net/ab601026460/article/details/72793325