2014-07-26 112 views
5

Jasig CAS4.0'ı Facebook OAuth2.0 ile yapılandırmaya çalışıyorum. Facebook kullanmadan, varsayılan kullanıcı adı 'casuser' ve şifre "Mellon" düzgün çalışıyordu. BenJasig CAS4.0, Proxy Kimlik Doğrulama İstisnası

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

ile

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

yerini ve id = "registeredServicesList" sonra benim CAS-sunucuya facebook dan kimlik doğrulaması sonra yönlendirme sonra, hala

<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" 
/> 

Ama olan benim uygulama, ben biletValidationException alıyorum.

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) 

Bu sorunu çözmek için ne yapmalıyım?

cevap

5

CAS sunucusunun deployerconfigcontext.xml dosyasında, varsayılan olarak bulunmayan birkaç tane özniteliği (allowToProxy, ssoEnables, etkin gibi) ekledim ve Çalıştı.

<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>