码迷,mamicode.com
首页 > 其他好文 > 详细

【SSO单点系列】(7):CAS4.0 二级域名

时间:2016-04-21 18:25:28      阅读:122      评论:0      收藏:0      [点我收藏+]

标签:

CAS4.0 二级域名

一、描述

当cas成功登录后如果访问同一域名下的资源是 被当作同一应用下资源不需要再次请求登录,但是如果二级域名不同会 被当作不同应用在访问 需要请求CAS

在请求时会把TGC传给CAS  CAS验证TGC有效返回资源页面 本身是没有问题的  但是在返回时地址 会被重写 就不再是新生成的二级域名了

所以项目中无法区分二级域名了

 

二、思路

在登录成功后就自己写入session不用原来的域名

三、实现

AuthenticationFilter.java

方法 doFilter新增

final HttpServletRequest request = (HttpServletRequest) servletRequest;
final HttpServletResponse response = (HttpServletResponse) servletResponse;
Cookie  c1 = null;
Cookie[] co=request.getCookies();
if (co!=null){
    for(Cookie c:co){
        if(c.getName().equals("JSESSIONID")){
            c1= c;
            break;
        }
    }
}
//验证
String serverName = request.getHeader("X-Real-HOST");
if (StringUtils.isEmpty(serverName)){
    serverName=request.getServerName();
}
Domain domain = new Domain();
domain.initDomain(serverName,request);
if (c1==null ){
    c1 = new javax.servlet.http.Cookie("JSESSIONID", request.getSession().getId());
    c1.setDomain("."+request.getAttribute("domain"));
    c1.setPath("/");
    response.addCookie(c1);
}

 

【SSO单点系列】(7):CAS4.0 二级域名

标签:

原文地址:http://www.cnblogs.com/hedgehog105/p/5417879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!