2016-10-20 12 views
1

WebLogic Server 버전 : 12.1.2.0.0에 배포 된 Spring MVC 애플리케이션에서 CAS 인증을 사용하고 있습니다.CAS : javax.security.auth.callback.UnsupportedCallbackException : 인식 할 수없는 콜백 :

은 CAS 서버 (http://www.jasig.org/cas)

은 - CAS 로그인 웹 페이지를 제공하며 사용자

가 이

인증 - 문제 TGT 쿠키 (티켓 부여 티켓) 때문에 사용자마다 CAS 서버

로 리디렉션 로그인 할 필요가 없습니다

은 - VALI -

을 확인 CAS 클라이언트의 URL에서 티켓 = ST-XXX 서비스 티켓 와 응용 프로그램 서버에 다시 재 지정

http://127.0.0.1:7001/devices_admin/welcome/welcome.do?ticket=ST-4857110-xJpv1gJ85niEGKBJHnQ5XZ5Et8pPY2kdXXkRzOlywdipakotoWUodeh4WCcovXPHWWxqbM6M0zNjxDy4uWSuazG-PHslUMVSXYCWTApMlTfLGC-m8dJiJ6e0zsxwwPOhzc5uNsRJh4dpl1mWcPdxaYhj21G  
http://127.0.0.1:7001/devices_admin/welcome/welcome.do?ticket=ST-4860089-wzJ3y2wzsMYHmpl8H7CenIURY68LSu0xzSKNB2o0XZiOrR60FGQHN9wSo83MuUraWFavzn3Qlp6VhtOzSEvdfwY-PHslUMVSXYCWTApMlTfLGC-JJBSzIydnDGzcECwzsiDiYCLUVecvzxZHmjIN2kDTewo  

그래서 나는 오류 404 얻을, 애플리케이션 서버

하지만 매번 내가 티켓 매개 변수가 다른 것을 깨달았다 페이지를 새로 고침에 대한 CAS 서비스 티켓을 날짜 - 브라우저에서 찾을 수 없음을

Error 404--Not Found 



From RFC 2068 Hypertext Transfer Protocol -- HTTP/1.1: 

10.4.5 404 Not Found 

The server has not found anything matching the Request-URI. No indication is given of whether the condition is temporary or permanent. 

If the server does not wish to make this information available to the client, the status code 403 (Forbidden) can be used instead. The 410 (Gone) status code SHOULD be used if the server knows, through some internally configurable mechanism, that an old resource is permanently unavailable and has no forwarding address. 
여기

내 weblogic.xml의 파일

<?xml version="1.0" encoding="UTF-8"?> 
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app" 
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
        xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
             http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd 
             http://www.bea.com/ns/weblogic/weblogic-web-app 
             http://www.bea.com/ns/weblogic/weblogic-web-app/1.0/weblogic-web-app.xsd"> 


    <!-- Example of a role mapped to a group provided by Ecas --> 
    <session-descriptor>  
     <cookie-path>/devices_admin</cookie-path>   
     <cookie-name>DEVICESJSESSIONID</cookie-name>   
     <url-rewriting-enabled>false</url-rewriting-enabled>   
    </session-descriptor> 
    <context-root>/devices_admin</context-root>  
    <security-role-assignment> 
     <role-name>authenticated</role-name> 
     <principal-name>INTERNET</principal-name>  
    </security-role-assignment>   
    <!-- Only needed if you want to allow some resources to be accessed by authenticated users who do not possess any role --> 
    <container-descriptor> 
     <allow-all-roles>true</allow-all-roles> 
    </container-descriptor>    
    <jsp-descriptor> 
     <precompile>true</precompile> 
    </jsp-descriptor> 

</weblogic-web-app> 

도 예외 성이있다 예술 WL

javax.security.auth.callback.UnsupportedCallbackException: Unrecognized Callback  at weblogic.security.BaseCallbackHandler.handle(BaseCallbackHandler.java:44) 
     at weblogic.security.BaseCallbackHandler.handle(BaseCallbackHandler.java:32) 
     at com.bea.common.security.internal.service.CallbackHandlerWrapper.handle(CallbackHandlerWrapper.java:76) 
     at weblogic.security.service.internal.WLSJAASLoginServiceImpl$CallbackHandlerWrapper.handle(WLSJAASLoginServiceImpl.java:154) 
     at javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(LoginContext.java:947) 
     at javax.security.auth.login.LoginContext$SecureCallbackHandler$1.run(LoginContext.java:944) 
     at java.security.AccessController.doPrivileged(Native Method) 
     at javax.security.auth.login.LoginContext$SecureCallbackHandler.handle(LoginContext.java:943) 

답변

0

서비스 속성을 구성한 Spring XML 파일을 확인할 수 있습니까? 콜백 URL은 일반적으로 "서비스"속성에서 구성됩니다. 이 URL은 일반적으로 CAS가 인증되면 요청을 리디렉션하려는 클라이언트 응용 프로그램 URL입니다.