2014-07-26 16 views
5

Tôi đang cố định cấu hình Jasig CAS4.0 với Facebook OAuth2.0. Nếu không sử dụng facebook, Tên người dùng mặc định 'casuser' và mật khẩu "Mellon" đã hoạt động chính xác. tôi thayJasig CAS4.0, Proxy Authentication Exception

<bean id="primaryAuthenticationHandler" 
      class="org.jasig.cas.authentication.AcceptUsersAuthenticationHandler"> 
     <property name="users"> 
      <map> 
       <entry key="casuser" value="Mellon"/> 
      </map> 
     </property> 
    </bean> 

với

<bean id="primaryAuthenticationHandler" class="org.jasig.cas.support.pac4j.authentication.handler.support.ClientAuthenticationHandler"> 
      <constructor-arg index="0" ref="clients"/> 
</bean> 

và id = "registeredServicesList" là

<util:list id="registeredServicesList"> 
     <bean class="org.jasig.cas.services.RegexRegisteredService" 
       p:id="0" p:name="HTTP and IMAP" 
       p:description="Allows HTTP(S) and IMAP(S) protocols" 
       p:serviceId="^(https?|imaps?)://.*" 
       p:evaluationOrder="10000001" 
       p:enabled="true" 
       p:allowedToProxy="true" 
       p:ssoEnabled="true" 
/> 

Nhưng vẫn còn, sau khi chuyển hướng sau khi chứng thực từ facebook để CAS-server của tôi sau đó đến tôi ứng dụng, tôi nhận được ticketValidationException.

type Exception report 

message org.jasig.cas.client.validation.TicketValidationException: 

description The server encountered an internal error that prevented it from fulfilling this request. 

exception 

javax.servlet.ServletException: org.jasig.cas.client.validation.TicketValidationException: 
     The supplied service 'https://rajan.com:2443/CasClientSimple/' is not authorized to use CAS proxy authentication. 

    org.jasig.cas.client.validation.AbstractTicketValidationFilter.doFilter(AbstractTicketValidationFilter.java:194) 
    org.jasig.cas.client.authentication.AuthenticationFilter.doFilter(AuthenticationFilter.java:116) 

Tôi nên làm gì để giải quyết vấn đề này?

Trả lời

5

Trong tệp deployerconfigcontext.xml của máy chủ CAS, tôi thêm một vài thuộc tính (như allowToProxy, ssoEnables, enabled) không có sẵn theo mặc định và Nó hoạt động.

<bean class="org.jasig.cas.services.RegisteredServiceImpl"> 
      <property name="id" value="0" /> 
      <property name="name" value="HTTP" /> 
      <property name="description" value="Only Allows HTTP Urls" /> 
      <property name="serviceId" value="https://**" /> 
      <property name="evaluationOrder" value="10000001" /> 
      <property name="enabled" value="true" /> 
      <property name="allowedToProxy" value="true" /> 
      <property name="ssoEnabled" value="true" /> 
</bean>