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)