求教各位大神cas 单点登陆 哪个地方是配置跨域名的?按照网上各种配置说明 摸索配置完了能访问  能登陆. 假设cas服务器为 我的域名:8080/cas/loginwww.我的域名.com  登陆成功访问cd.我的域名.com时 request.getUserPrincipal() 就为null了.各位大神 求教.
客户端配置如下<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://我的完整域名:8080/cas/login</param-value>   
        </init-param>
        <init-param>
<param-name>serverName</param-name>
<param-value>http://我的完整域名(没有端口)</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>http://我的完整域名:8080/cas</param-value>   
        </init-param>   
        <init-param>
<param-name>serverName</param-name>
<param-value>http://我的完整域名(没有端口)</</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>   
        <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 Authentication Filter</filter-name>   
        <url-pattern>/login.html</url-pattern>   
    </filter-mapping>   
    <filter-mapping>   
        <filter-name>CAS Validation Filter</filter-name>   
        <url-pattern>/login.html</url-pattern>   
    </filter-mapping>   
    <filter-mapping>   
        <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name>   
        <url-pattern>/*</url-pattern>   
    </filter-mapping>   
    <filter-mapping>   
        <filter-name>CAS Assertion Thread Local Filter</filter-name>   
        <url-pattern>/*</url-pattern>   
    </filter-mapping>

解决方案 »

  1.   

    ...CSND无人啦.诶.稍微复杂一点的问题 几乎每次都是0回复.
      

  2.   

    据我所知,cas没有针对该项的配置访问 www.我的域名.com 登陆成功后,cas会写入cookie当你访问cd.我的域名.com时应该是跳到登陆页面因为cas默认是用的https的协议而你的配置<param-value>http://我的完整域名:8080/cas/login</param-value>这样cas会取不到cookie,你打cas服务端的配置文件有下面一段
    <bean id="ticketGrantingTicketCookieGenerator" class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator"
    p:cookieSecure="true" 不知道你的服务端是怎么配置的  
      

  3.   

    http协议的是没看到哪里配置域名,但是https的是有的,在导入证书的时候可以设置域名,楼主用的是http协议的,
    1.可以先检查用ip是否能取到用户登录信息,如果能取到,说明CAS服务器的配置是没问题的,没取到,检查CAS服务器的配置
    2.如果是域名问题,在本机上做个域名的映射看看,xp的路径是在C:\Windows\system32\drivers\etc下的hosts文件打开,最后加上102.54.94.97     rhino.acme.com类似的映射。
      

  4.   

    我按2楼的那个介绍,把p:cookieSecure="true"  设置了下false,就可以不用ssl加密跨域访问了。我主要是为了测试不想加那个ssl密。
      

  5.   

    我的跨域就可以访问但是我不理解其中的原理,应用client2是8080端口,cas服务端是8080端口,client3是7777端口,2去访问3。能够单点登录。。