2017-01-04 6 views
0

解決方法がわからないという問題があります。 私はCAS v4.2をtomcat 8ポート8443に設定しました。 私が持っている春のセキュリティ設定は、CASへのリダイレクトを正しく行います。私がcasで認証すると、ログには認証とチケットの生成が正しく行われています。 チケットに2週間の書類が記載されているように設定しました。 web.xmlでcasセッションを5から15に増やしました。これは押された可能性のあるエラーを示していますが、すべて同じ結果に終わりました。 自分自身を認証した後、自分自身をクライアントアプリケーションのホームにリダイレクトしませんでしたが、「認証に失敗しました:ユーザーの資格情報が期限切れです」というメッセージが表示されます認証に失敗しました:ユーザーの資格情報の有効期限が切れています。 CAS v4.2

私は何が間違っているのか、バージョン4.2に従ってcas.propertiesプロパティーを構成することで欠落していました。 この問題が継続するためにはどうなっているのか教えていただければ幸いです。 ありがとうございます。

JDK8。 Spring 4.2.6。 CAS v4.2。 Tomcat8。

春のsecurity.xml

<security:http entry-point-ref="casEntryPoint" auto-config="true" use-expressions="true"> 
    <security:csrf disabled="false"/> 
    <security:custom-filter position="FIRST" ref="ajaxSessionFilter"/> 

    <!-- ACCESO SIN RESTRICCIONES --> 
    <security:intercept-url pattern="/static/**" access="permitAll"/> 
    <security:intercept-url pattern="/WEB-INF/views/**" access="permitAll"/> 

    <security:custom-filter ref="casAuthenticationFilter" after="CAS_FILTER"/> 

    <security:intercept-url pattern="/**" access="isAuthenticated()" /> 
</security:http> 


<bean id="casServiceProperties" class="org.springframework.security.cas.ServiceProperties" 
    p:service="http://localhost:8080/aap/j_spring_cas_security_check" 
    p:sendRenew="false" p:authenticateAllArtifacts="true" /> 

<bean id="casEntryPoint" 
    class="org.springframework.security.cas.web.CasAuthenticationEntryPoint" 
    p:serviceProperties-ref="casServiceProperties" p:loginUrl="https://cas:8443/cas/login" /> 

<bean id="ajaxSessionFilter" class="com.xxxx.auth.web.filters.ajax.SessionFilter"> 
    <property name="homePage" value="https://cas:8443/cas/login"/> 
</bean> 

<bean id="casAuthenticationFilter" class="org.springframework.security.cas.web.CasAuthenticationFilter"> 
    <property name="serviceProperties" ref="casServiceProperties"/> 
    <property name="authenticationManager" ref="authenticationManager"/> 
    <property name="authenticationFailureHandler"> 
     <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationFailureHandler"> 
      <property name="defaultFailureUrl" value="/casfailed"/> 
     </bean> 
    </property> 
    <!-- --> 
    <property name="authenticationSuccessHandler"> 
     <bean class="org.springframework.security.web.authentication.SimpleUrlAuthenticationSuccessHandler"> 
      <property name="defaultTargetUrl" value="/"/> 
     </bean> 
    </property> 

    <property name="proxyGrantingTicketStorage" ref="proxyGrantingTicketStorage" /> 
</bean> 

<bean id="proxyGrantingTicketStorage" class="org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl" /> 

<bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.ShaPasswordEncoder"/> 

<!-- This filter redirects to the CAS Server to signal Single Logout should be performed --> 
<bean id="requestSingleLogoutFilter" 
    class="org.springframework.security.web.authentication.logout.LogoutFilter" 
    p:filterProcessesUrl="/j_spring_cas_security_logout"> 
    <constructor-arg value="https://cas:8443/cas/logout" /> 
    <constructor-arg > 
     <bean 
      class="org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler" /> 
    </constructor-arg> 
</bean> 

<!-- This filter handles a Single Logout Request from the CAS Server --> 
<bean id="singleLogoutFilter" class="org.jasig.cas.client.session.SingleSignOutFilter"/> 

<security:authentication-manager alias="authenticationManager"> 
    <security:authentication-provider ref="casAuthenticationProvider"/> 
</security:authentication-manager> 

<bean id="casAuthenticationProvider" 
    class="org.springframework.security.cas.authentication.CasAuthenticationProvider"> 
    <property name="authenticationUserDetailsService"> 
     <bean class="org.springframework.security.core.userdetails.UserDetailsByNameServiceWrapper"> 
      <constructor-arg ref="userDetailService" /> 
     </bean> 
    </property> 
    <property name="serviceProperties" ref="casServiceProperties" /> 
    <property name="ticketValidator"> 
     <bean class="org.jasig.cas.client.validation.Cas20ServiceTicketValidator"> 
      <constructor-arg index="0" value="https://cas:8443/cas" /> 
      <property name="proxyGrantingTicketStorage" ref="proxyGrantingTicketStorage" /> 
     </bean> 
    </property> 
    <property name="key" value="CAS"/> 
</bean> 

<bean id="userDetailService" class="com.xxx.services.security.userdetails.PSOUserDetailsService"/> 

cas.properties

# Decides whether SSO cookie should be created only under secure connections. 
tgc.secure=true 

# The expiration value of the SSO cookie 
tgc.maxAge=1209600 

# The name of the SSO cookie 
tgc.name=TGC 

# The path to which the SSO cookie will be scoped 
tgc.path=/cas 

# The expiration value of the SSO cookie for long-term authentications 
tgc.remember.me.maxAge=1209600 

# Decides whether SSO Warning cookie should be created only under secure connections. 
warn.cookie.secure=true 

# The expiration value of the SSO Warning cookie 
warn.cookie.maxAge=1209600 

# The name of the SSO Warning cookie 
warn.cookie.name=CASPRIVACY 

# The path to which the SSO Warning cookie will be scoped 
warn.cookie.path=/cas 
## 
# Single Sign-On Session TGT Timeouts 
# 
# Inactivity Timeout Policy 
tgt.timeout.maxTimeToLiveInSeconds=1209600 

# Default Expiration Policy 
tgt.maxTimeToLiveInSeconds=28800 
tgt.timeToKillInSeconds=7200 

## 
# Service Ticket Timeout 
# 
st.timeToKillInSeconds=28800 
st.numberOfUses=1 

tgc.remember.me.maxAge=1209600 

クッキー

"CASPRIVACY=""; 
Expires=Thu, 01-Jan-1970 00:00:10 GMT; 
Path=/cas; 
SecureTGC=eyJhbGciOiJIUzUxMiJ9.WlhsS2FHSkhZMmxQYVVwcllWaEphVXhEU214aWJVMXBUMmxLUWsxVVNUUlJNRXBFVEZWb1ZFMXFWVEpKYmpBdUxqRnNSVEl5T1U5SFdsQTRVWFpUTFc5VWIzRmpNRUV1T0Vac2J6QnRaMjl5ZVRWRk9XRnFNR3AwVFZKcFNIQklTVGt5YjJGelNWZE9XR0pEU2swM2VrMUJRekJYVUVjd1UwSnRaRGRaTTFwVlJHNVROekpNTjA5aWNsZGtjMEo2TkVGVVZYQkJWMGxPVEhKQkxWSmxVWEozZUdWRlpFaGxOV2xEYkhZdFgxUnRWbXBYY0hJeFZEWlpXQzFRVG1kcFdtNUJRa2RuTW5CdlRHOUxaRzB3VFMxQk56ZFNWelZ4YVdORVQxQXRVekEzTVVVNGNFSmxWVFJ2UkZwZmVFTTNWRzVFVlRWRmMyeFJRVXR3Y2tOMFlXMVhTVVJGT0ZoQ00xQlNaV0pMVTJGcVJrMVdPV1ZEVmxkU1ozaEtkeTVQYTJwSFEzTmhWRmxRVkdwSE0xZG5UVnBVZUVKQg.H2P1nCulIj3BtS-wOJr3PtOVGi1hT6y0PDP0MVSQerwv3khVB-lFQe2BdKNElUYzJhURtW-zwyZK3PuBh6p_eQ; 
Expires=Wed, 18-Jan-2017 15:00:18 GMT; 
Path=/cas; 
Secure" 

答えて

0

私は自分自身への対応、誰かが同じである場合に備えて。 問題はPSOUserDetailsにあり、資格情報が期限切れになっていないか、または資格情報が期限切れになっていないためにメソッドを上書きしていませんでした。

ありがとうございました

関連する問題