문제

나는 이미 작동하는 JAA를 사용하여 6.1에 웹 응용 프로그램이 있습니다. 순서대로 인증하고 승인합니다. 그러나 내 로그 아웃 페이지는 교장을 비활성화하지 않습니다. 이 응용 프로그램은 jboss an on glasfish에서 올바르게 작동하지만 그렇지 않았습니다.

내 로그 아웃 페이지는이 콘텐츠가있는 간단한 JSP 일뿐입니다.

<%System.out.println("principal is not null:"+(null != request.getUserPrincipal()));

if (null != request.getSession(false))
request.getSession(false).invalidate();
%><jsp:include page="/index.html" />

내가 뭔가를 놓치고 있습니까? 나는 WebPshere의 특정 API를 사용하지 않겠다고 말하지만 절대적으로 필요하다면 나는 그럴 것입니다.

도움이 되었습니까?

해결책

성공적으로 로그 아웃하려면이 코드 스 니펫도 필요합니다.

try {
        com.ibm.websphere.security.WSSecurityHelper.revokeSSOCookies(request, response);
     } catch(Exception e) {
        // catch all possible exceptions if you want or handle them separately
        out.println("JAASLogoutServlet: logout Exception = " + e.getMessage());
        throw new ServletException(e);
}

다른 팁

IBM은 또한 IBM_SECURITY_LOGOUT라는 양식을 구현합니다. WebSphere 7.0에서 사용했지만 이전 버전에는 존재합니다. 자세한 내용은 내 질문에 대한 내 답변을 찾을 수 있습니다.

Java EE 컨테이너 관리 보안에서 로그 아웃하려면 어떻게해야합니까?

WebSphere 8.5.5 (기존 버전에서도)에서 사용자 정의 속성을 설정할 수 있습니다.

보안 -> 글로벌 보안 -> 사용자 정의 속성

com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true   
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top