cas认证和高可用部署下(tomcat的session共享)的登出方案

CAS服务中心的搭建

  1. cas服务应用获取:
    从github上下载cas服务应用:
    git clone https://github.com/apereo/cas-overlay-template.git
    git checkout 5.3
    切换到需要的分支,本文章使用5.3的版本
    使用cmd命令,切换到工程目录下:
    build.cmd help 查看命令
    build.cmd package 进行打包
    打包后target下产生cas.war
  2. cas服务的部署
    在tomcat下部署后启动,解压cas。
    去除HTTPS:
    进入cas目录cas/WEB-INF/classes,修改application.properties,去除HTTPS,修改如下,在文件最底部修改:
cas.authn.accept.users=admin::admin,admin@qq.com::123456
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

cas.authn.accept.users参数可以配置多个账号和密码使用英文逗号隔开即可.
支持HTTP:进入目录cas\WEB-INF\classes\services下修改HTTPSandIMAPS-10000001.json

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|imaps|http)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000,
  "proxyPolicy" : {
      "@class" : "org.jasig.cas.services.RegexMatchingRegisteredServiceProxyPolicy",
      "pattern" : "^(https|imaps|http)://.*"
  }
}

加入了http的支持。

  1. 启动验证
    启动tomcat,打开浏览器输入http://localhost/cas/login
    正常显示的界面
    然后使用配置的账号和密码进行登录根据配置的账号和密码进行登录
    cas服务还可以支持数据等方式,这个可以根据官方文档进行配置。简单验证使用简单配置即可。

应用中CAS客户端的配置

  1. 应用中引入cas-client-core,本文章使用3.5.1版本
  2. 在web.xml中配置cas的登出、登录、授权过滤:
<!--登出过滤器-->
    <filter>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
        <init-param>
        <!--cas的路径-->
            <param-name>casServerUrlPrefix</param-name>
            <param-value>http://localhost</param-value>
        </init-param>
        <init-param>
        <!--登出请求的分发路径-->
            <param-name>clusterNodeUrls</param-name>
			<param-value>http://localhost:8001,http://localhost:8002</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CAS Single Sign Out Filter</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>

    <listener>
        <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class>
    </listener>

	<!--登录授权过滤器-->
    <filter>
        <filter-name>CAS Authentication Filter</filter-name>
        <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
        <init-param>
            <param-name>casServerLoginUrl</param-name>
			<!--cas的登录路径-->
            <param-value>http://localhost/cas/login</param-value>
        </init-param>
        <init-param>
            <!--认证成功后跳转的服务的路径-->
            <param-name>serverName</param-name>
            <param-value>http://127.0.0.1</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>CAS Authentication Filter</filter-name>
        <url-pattern>/system/sso/*</url-pattern>
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值