“网页卡很长时间”,这个肯定就比较有问题了,往往说明其在等待网络超时。一个是检查下服务器配置和端口配置,两台之间是否都能正确联通。另一个是建议找个工具来抓包,解取下你的应用服务器跟CAS服务器之间通讯的情况。

解决方案 »

  1.   


    自己的tomcat webapps 里 cas server 一个  和自己本地的test项目来进行的测试、
      

  2.   

    先不要用HTTPS,用HTTP试试看;HTTPS会涉及证书等配置,会将问题复杂化。另外,你的配置有些用:www.boyu.cn,有些用:localhost,这个要检查下的,域名匹配也很重要。
      

  3.   


    我先试试看、照猫画虎都没画好 、我在etc 的host配置了  127.0.0.1 www.boyu.cn 
      

  4.   

    也别难过,CAS所支持配置方式也比较灵活多样,所以不同配置方式下的细节问题确实会比较多。
      

  5.   


    终于可以正常跳转了、自己最后去cas 的官网查demo 硬着头皮看英文一步步看下了配置成功跳转了、这过程太曲折了、先是去了stackoverflow 问了问题、各种高中英语基础 + google翻译、最后被管理员给关闭了、说我问题问的太广了。通知我后就给关闭了。。无奈去了CAS官网(http://www.jasig.org)
    查CAS Client Integration 的demo和官方给出的样例demo(如你所说CAS配置太多了、每样都有俩种配置)
    总结点信息、方便后来人吧、有些网上贴出的CAS的client的web.xml配置filter-class是
    edu.yale.its.tp.cas.client.filter.CASFilter
    这样的话、那么证明他配置的CAS client 版本是2.X版本的、由yale大学实验室研发的那个版本、而CAS client 最新版本是 3.X (现在是3.2.1) 也就是3.+版本的 是由jasig后整理出来的、里面的源码有很多改动、跟2.+完全不一样了、所以要根据自己client版本来配置、cas server 配置没有什么太难度的地方、跟着做就行了、主要原因出在于CAS client的web.xml的配置、我的CAS client版本是 3.2.1、根据官网的demo 配置一下就可以了、传送门(https://wiki.jasig.org/display/CASC/web.xml+for+Tomcat+5.5+Tomcat+Manager)现在就差在走自己的filter取出username了得到的username总是null、一会在研究研究去、看到CAS登录成功跳转了自己项目那一刹那、那感觉血液都沸腾了、不亚于国足进了十强啊、感谢ldh911的耐心指引、结贴了。顺便散分散分、半点结贴、来者有分、
      

  6.   

    话说,其实我也就是鼓励了一下而已,毕竟自己搞CAS也是4年前的事情了,惭愧惭愧 =_=
      

  7.   


    在客户端配置web.xml多加如下信息<!--
    该过滤器负责实现HttpServletRequest请求的包裹,
    比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
    -->
    <filter>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <filter-class>
    org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping><!-- 自动根据单点登录的结果设置本系统的用户信息 -->
    <filter>
    <display-name>AutoSetUserAdapterFilter</display-name>
    <filter-name>AutoSetUserAdapterFilter</filter-name>
    <filter-class>自己项目的package路径.自己写的class类.我拿例子copy的【AutoSetUserAdapterFilter】</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>AutoSetUserAdapterFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    AutoSetUserAdapterFilter.class
    导入相对应的jar包import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;import org.jasig.cas.client.authentication.AttributePrincipal;
    import org.jasig.cas.client.validation.Assertion;public class AutoSetUserAdapterFilter implements Filter {
            
            /**
             * Default constructor. 
             */
            public AutoSetUserAdapterFilter() {
            }        /**
             * @see Filter#destroy()
             */
            public void destroy() {
            }        /**
             * 过滤逻辑:首先判断单点登录的账户是否已经存在本系统中,
             * 如果不存在使用用户查询接口查询出用户对象并设置在Session中
             * @see Filter#doFilter(ServletRequest, ServletResponse, FilterChain)
             */
            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("_const_cas_assertion_");
                    
                    
                    
                    
                    if (object != null) {
                    
                     AttributePrincipal principal = (AttributePrincipal)httpRequest.getUserPrincipal();    
                        String username = principal.getName(); 
                        System.out.println("cas principal获取的loginName为-----"+username);
                            Assertion assertion = (Assertion) object;
                            String loginName = assertion.getPrincipal().getName();
                            System.out.println("cas assertion获取的loginName为-----"+loginName);                }
                    chain.doFilter(request, response);
            }        /**
             * @see Filter#init(FilterConfig)
             */
            public void init(FilterConfig fConfig) throws ServletException {
            }
            
           }
    关于乱码:
    请把自己写的filter过滤字符集 设置在client的web.xml 单点登录 之前就可以了、
      

  8.   

    java.lang.NullPointerException
        at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:768)
        at org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl.retrieve(ProxyGrantingTicketStorageImpl.java:85)
        at org.jasig.cas.client.validation.Cas20ServiceTicketValidator.parseResponseFromServer(Cas20ServiceTicketValidator.java:91)
        at org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:217)
        at org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter
    我也出现了这个异常 困惑几天了 求教!
      

  9.   

    我的配置跟你的配置一样的 不知道那个地方还需要改下的 https://wiki.jasig.org/display/CASC/web.xml+for+Tomcat+5.5+Tomcat+Manager
    这个地方也看了 都一样
      

  10.   


    你这个好像是跳转时间太长吧?然后出现的500错误异常错误应该出在client 客户端的web.xml的配置中<!-- ======================== 单点登录开始 ======================== -->
    <!-- 用于单点退出,该过滤器用于实现单点登出功能,通知其他应用单点登出 -->
    <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> <!-- 该过滤器负责用户的认证工作,必须启用它 -->
    <filter>
    <filter-name>CASFilter</filter-name>
    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
    <init-param>
    <param-name>casServerLoginUrl</param-name>
    <param-value>http://www.test.cn/cas/login</param-value>
    <!--这里的server是服务端的IP-->
    </init-param>
    <init-param>
    <param-name>serverName</param-name>
    <param-value>www.test.cn</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>CASFilter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping> <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
    <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://www.test.cn/cas</param-value>
    </init-param>
    <init-param>
    <param-name>serverName</param-name>
    <param-value>www.test.cn</param-value>
    </init-param>
    </filter>
    <filter-mapping>
    <filter-name>CAS Validation Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!--
    该过滤器负责实现HttpServletRequest请求的包裹,
    比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
    -->
    <filter>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <filter-class>
    org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
    </filter>
    <filter-mapping>
    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
    <url-pattern>/*</url-pattern>
    </filter-mapping>
    <!-- ======================== 单点登录结束 ======================== -->
    www.test.cn  127.0.0.1
      

  11.   


    上面是我的配置、用的是http 方式验证 没用ssl证书(https)安全验证、因为没想着要买ssl证书如果你也想配置http方式的话
    http://www.kafeitu.me/sso/2010/11/05/sso-cas-full-course.html 使用ssl证书(https)方式 cas client 3.x+
    http://blog.csdn.net/lijiecsu/article/details/6502981 使用http方式 和cas client 2.x+版本
    https://wiki.jasig.org/display/CASC/web.xml+for+Tomcat+5.5+Tomcat+Manager 官网cas client 3.x+这有几个资料对你可能有用、看看吧、
      

  12.   

    嗯 谢谢你能够帮我了  
    我想了一下如果不用证书的话就不会出现我的那种异常对吧。
    用了就会出现是这个原因吗?
    我看你出现的异常给我的一样。我真的好想解决它啊http://www.kafeitu.me/sso/2010/11/05/sso-cas-full-course.html  这个上面我也看了 也一样
    还是会错
    帅哥能不能在帮我一下 假如你用证书试下看行不行呢?(如果你可以的话)
      

  13.   

    这个需要导入其他jar包么?我就导入了一个cas-client-core-3.2.1.jar包
      

  14.   


    我使用ssl证书也是可以用的、 关键出在web.xml配置上、把你的web.xml贴出来
      

  15.   

    按理说 如果照https://wiki.jasig.org/display/CASC/web.xml+for+Tomcat+5.5+Tomcat+Manager 这官网配置的话应该是可以通过的、 我的配置就是改了
    <context-param>
            <param-name>serverName</param-name>
            <param-value>https://battags.ad.ess.rutgers.edu:8443</param-value>
        </context-param>
    这个、和 官网的一些可选配置、  
    <context-param>
            <param-name>serverName</param-name>
            <param-value>https://battags.ad.ess.rutgers.edu:8443</param-value>
        </context-param>
     
      <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>https://battags.ad.ess.rutgers.edu:8443/cas/login</param-value>
        </init-param>
      </filter>
       
      <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>https://battags.ad.ess.rutgers.edu:8443/cas</param-value>
        </init-param>
      </filter>
       
      <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
      </filter>
       
        <filter-mapping>
            <filter-name>CAS Authentication Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS Validation Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
      

  16.   

    对了 我现在跟踪代码发现是解析xml报错了,这个xml格式就是cas登录界面我觉得很奇怪啊这点我不明白
    然后他就进行解析这个cas服务器默认的登录界面缺报了一个错误 java.net.unknowHostexception:www.w3.org 我这个内网开发连接不到外网上面去,这个改如何解决呢?还有头文件就是
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
    Trict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-trict.dtd">
    不明白了
      

  17.   


    这个就真不清楚了、 百度 google吧、
      

  18.   

    不好意思 昨天搞的太晚了 
    这个是我web.xml其实我就把你的复制一下,然后改了一点
    <!-- ======================== 单点登录开始 ======================== -->
            <!-- 用于单点退出,该过滤器用于实现单点登出功能,可选配置-->
            <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>        <!-- 该过滤器负责用户的认证工作,必须启用它 -->
            <filter>
                    <filter-name>CASFilter</filter-name>
                    <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class>
                    <init-param>
                            <param-name>casServerLoginUrl</param-name>
                            <param-value>https://localhost:8443/cas/login</param-value>
                            <!--这里的server是服务端的IP-->
                    </init-param>
                    <init-param>
                            <param-name>serverName</param-name>
                            <param-value>http://localhost:8080</param-value>
                    </init-param>
            </filter>
            <filter-mapping>
                    <filter-name>CASFilter</filter-name>
                    <url-pattern>/*</url-pattern>
            </filter-mapping>        <!-- 该过滤器负责对Ticket的校验工作,必须启用它 -->
            <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>https://localhost:8443/cas/login</param-value>
                            
                    </init-param>
                    <init-param>
                            <param-name>serverName</param-name>
                            <param-value>http://localhost:8080</param-value>
                    </init-param>
            </filter>
            <filter-mapping>
                    <filter-name>CAS Validation Filter</filter-name>
                    <url-pattern>/*</url-pattern>
            </filter-mapping>        <!--
                    该过滤器负责实现HttpServletRequest请求的包裹,
                    比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。
            -->
            <filter>
                    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
                    <filter-class>
                            org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
            </filter>
            <filter-mapping>
                    <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
                    <url-pattern>/*</url-pattern>
            </filter-mapping>        <!--
                    该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。
                    比如AssertionHolder.getAssertion().getPrincipal().getName()。
            -->
            <filter>
                    <filter-name>CAS Assertion Thread Local Filter</filter-name>
                    <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class>
            </filter>
            <filter-mapping>
                    <filter-name>CAS Assertion Thread Local Filter</filter-name>
                    <url-pattern>/*</url-pattern>
            </filter-mapping>
            
            
            <!-- ======================== 单点登录结束 ======================== -->
    我现在暂时没有写自己的过滤器我还想查询一下权限,不过这个方法我已经搞定了,现在就是插这一步了用户名得不到 这个我看你给我咖啡兔的配置 就是一配置就出现我所说的那种异常,解析的时候就报错 java.net.unknowHostexception:www.w3.org 好纠结啊,这几天真的快爽死我了
      

  19.   

    我客户端就导入了一个cas-client-core-3.2.1.jar包不知道有问题没有
      

  20.   

    如果还不行  照20楼这样修改、
    <context-param>
            <param-name>serverName</param-name>
            <param-value>https://localhost:8443</param-value>
        </context-param>
     
      <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>https://localhost:8443/cas/login</param-value>
        </init-param>
      </filter>
       
      <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>https://localhost:8443/cas</param-value>
        </init-param>
      </filter>
       
      <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
      </filter>
       
        <filter-mapping>
            <filter-name>CAS Authentication Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS Validation Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>客户端只引用 cas 的client 包就可以、
      

  21.   


    我记得假设 不能连接外网的话  需要把dtd文件下载到本地  然后指向该dtd引用就可以了、具体怎么设置忘了、以前看视频知道的、不知道你这个该如何修改、只能帮你到这了、也就是说  你需要配置cas server 的dtd文件引用 以及设置、查查看吧、
      

  22.   

    对了你可以把那个dtd的视频路径能够发给我吗?我想看看?
    我照着cas官方上面的配置<context-param>
            <param-name>serverName</param-name>
            <param-value>http://localhost:8080</param-value>    </context-param>
     
      <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>https://localhost:8443/cas/login</param-value>
        </init-param>
      </filter>
       
      <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>https://localhost:8443/cas</param-value>
        </init-param>
      </filter>
       
      <filter>
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
        <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class>
      </filter>
       
        <filter-mapping>
            <filter-name>CAS Authentication Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS Validation Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>
         
        <filter-mapping>
            <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>红色标示的是我casclient的访问路径
    但是这样一配置之后却出现了另外一个异常
    org.jasig.cas.client.validation.TicketValidationException:  
    绁ㄦ牴'ST-2-jEo1qANhs9HgZ7VKC5Hf-cas'涓嶇鍚堢洰鏍囨湇鍔?
    网上说这个异常是我的票已经用了,却又在用了一次实际是不行的 但是我就报了这个错误不知道在那里解决看见别人的配置也写的不全,真的很郁闷啊!还希望你在帮帮我呢?谢了大哥
      

  23.   


    这个是你的证书问题了那就、具体配置证书需要tomcat里  还有jdk的jre里也需要放置、
      

  24.   


    jdk/jre/lib/security/cacerts   还需要把ssl证书导入到jdk中、不使用ssl证书配置比较简单有效、你也可以试试、
      

  25.   

    不啊证书我也已经导入到jdk 的jre里面了我觉得证书应该没有问题我的取名就是localhost,
    官方上面配置的是
    <context-param>
            <param-name>serverName</param-name>
            <param-value>https://localhost:8443</param-value>
        </context-param>
    我改成我自己的项目(cas client)客户端的服务器的路径 我这样配置又错吗? 还是这个就应该是cas的服务器 我之前尝试的就放cas服务器的访问路径却找不到返回的路径
      

  26.   

    我还觉得有点奇怪第一次访问失败了 浏览器报错
    org.jasig.cas.client.validation.TicketValidationException:   
    绁ㄦ牴'ST-2-jEo1qANhs9HgZ7VKC5Hf-cas'涓嶇鍚堢洰鏍囨湇鍔?

    但是我第二次在去访问这个路径的时候却能够登录成功。
    我不知道我为什么第一次不行第二次却行就是在打开一个浏览器配置是采用官方的配置
    这个乱码如何解决啊?
      

  27.   

    对了我还有个小小的要求的就是我想看下那个引入dtd文件的那个视频我想学习一下别人是怎么搞的如果找到就算了不过还是挺谢谢你了。
      

  28.   

    1、
    <context-param>
      <param-name>serverName</param-name>
      <param-value>https://localhost:8443</param-value>
    </context-param>这个是你需要拦截的项目域名应该是你自己项目的域名  比如http://localhost:80802、
    tomcat下的ssl证书配置了否?<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
                   maxThreads="150" scheme="https" secure="true"
                   clientAuth="false" sslProtocol="TLS" 
       keystoreFile="D:/keys/caskey" 
       keystorePass="changeit"
       />3、找不到了、
    不过你这是html的头文件嘛?<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    我的是这个、然后直接就<html>标签开始了
    主要是ssl证书需要导入到jre/lib/security/cacerts   还有tomcat下conf  server.xml里的8483端口也引用到ssl证书以及密码你还是找一段以前的配置吧  2.+的配置比较容易你去找下2.+版本   耶鲁大学实验室的那个版本cas client 的配置class 是edu.yalu.xxxxxx开头的那种、 导入相对应的jar包
      

  29.   

    嗯 2.+的我已经搞好了,现在就是要用liferay+cas做单点登录我用2.+的一直都登录不进去,我初步分析是想该源代码,可是我不想这么做我想,我可以调转回来就是登陆不进去,很郁闷了,我就想换一个高点的版本试下看行不行。不行的话我就只有改源代码了。这样要花好多时间去研究liferay了,不想这样
      

  30.   

    大哥你可以把你cas 客户端用的一些jar包发给我可不可以啊 我看一下是不是jar包的原因,好多人都说是client.jar里面都不清楚是什么。就想让你把你的cas 客户端也就是应用的服务器上面用的jar包发给我一下
    [email protected]发给我qq邮箱吧 谢谢了。
      

  31.   

    http://bbs.csdn.net/topics/390219002问题在这里
      

  32.   

    单点登出filter 尽量配置在最前面    就ok了    我也遇到了这个问题,就是真么解决的