cas 单点登录,退出配置

最近做了单点登录,记录一下,参考网上资料


web.xml

<!--  登录成功后的欢迎页面-->

<welcome-file-list>
<!-- <welcome-file>login1.html</welcome-file> -->
<!-- <welcome-file>index.html</welcome-file> -->
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>

<!--退出-->
<context-param>
<param-name>casServerLogoutUrl</param-name>
<param-value>http://xxx.com/logout</param-value>   <!--server cas 地址-->

</context-param>


<context-param>
<param-name>serverName</param-name>
<param-value>http://127.0.0.1:8080</param-value>
</context-param>

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


<filter>
<filter-name>CAS Single Sign Out Filter</filter-name>
<filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>CAS Single Sign Out Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>


<!-- 1.2.1 配置业务系统认证过滤器(必须) -->
<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>
<param-value>http://xxx.com</param-value>
</init-param>


<init-param>
<param-name>serverName</param-name>
<param-value>127.0.0.1:8080</param-value>
</init-param>
<init-param>
<param-name>renew</param-name>
<param-value>false</param-value>
</init-param>
<init-param>
<param-name>gateway</param-name>
<param-value>false</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Authentication Filter</filter-name>
<url-pattern>/*</url-pattern>   <!-- 服务端验证 -->
</filter-mapping>


<!-- 配置业务系统票据验证过滤器(必须) -->
<filter>
<filter-name>CAS Validation Filter</filter-name>
<filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class>
<init-param>
<param-name>casServerUrlPrefix</param-name>
<param-value>http://xxx.com</param-value>
</init-param>


<init-param>
<param-name>serverName</param-name>
<param-value>127.0.0.1:8080</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CAS Validation Filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>




<!-- 自动根据单点登录的结果设置本系统的用户信息 -->
<filter>
<display-name>AutoSetUserAdapterFilter</display-name>
<filter-name>AutoSetUserAdapterFilter</filter-name>
<filter-class>com.syzton.sunread.security.AutoSetUserAdapterFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>AutoSetUserAdapterFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>



Filter 


public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException,  
                    ServletException {  
            HttpServletRequest httpRequest = (HttpServletRequest) request;  
              
            // _const_cas_assertion_是CAS中存放登录用户名的session标志  
            Object object = httpRequest.getSession().getAttribute(AbstractCasFilter.CONST_CAS_ASSERTION);  
              
            if (object != null) {  
                    Assertion assertion = (Assertion) object;  
                    String loginName = assertion.getPrincipal().getName();  
                    System.out.println(loginName);
                    httpRequest.getSession().setAttribute("username", loginName); 
            }  
            chain.doFilter(request, response);  
    }


注销,index

<li><a href="/logout.jsp" ng-click="logout()">注销</a> </li>


退出,logout.jsp


<%  
session.invalidate();  
response.sendRedirect(application  
.getInitParameter("casServerLogoutUrl")  
+ "?service="  
+ application.getInitParameter("serverName"));  
%>  

casServerLogoutUrl 和serverName 为web.xml 配置

为了退出后显示也是不少cas server 退出页面,跳转到登陆页面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值