بنك الإسكان للتجارة 6.1 JAAS الخروج
سؤال
ولدي لتطبيق ويب على WAS 6.1 باستخدام JAAS تعمل بالفعل. يصادق ويأذن بطريقة منظمة. لكن صفحة تسجيل الخروج بلدي لا إلغاء المصادقة الرئيسية. هذا التطبيق يعمل بشكل صحيح على جبوس وعلى Glasfish ولكن ليس على WAS.
وصفحة تسجيل الخروج بلدي هو مجرد 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" />
وأنا في عداد المفقودين شيء؟ وأود أن preffer عدم استخدام أي API محددة من Webpshere ولكن إذا كانت هناك حاجة على الاطلاق وسوف.
المحلول
لبنجاح الخروج وهناك حاجة أيضا هذه التعليمات البرمجية المتكررة:
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. لقد تم استخدامه في بنك الإسكان للتجارة 7.0، لكنها موجودة في الإصدار السابق. يمكنك العثور على مزيد من التفاصيل جوابي على سؤالي:
في بنك الإسكان للتجارة 8.5.5 (ربما في الإصدارات القديمة، أيضا) يمكنك تعيين الخاصية المخصصة.
والأمن -> الأمن العالمي -> الخصائص المخصصة
com.ibm.ws.security.web.logoutOnHTTPSessionExpire=true