Author: markt
Date: Mon Aug 6 12:58:29 2018
New Revision: 1837510
URL: http://svn.apache.org/viewvc?rev=1837510&view=rev
Log:
Make logout more robust if the JASPIC subject is unexpectedly unavailable
Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
Modified:
tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=1837510&r1=1837509&r2=1837510&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
(original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
Mon Aug 6 12:58:29 2018
@@ -1136,19 +1136,17 @@ public abstract class AuthenticatorBase
if (provider != null) {
MessageInfo messageInfo = new MessageInfoImpl(request,
request.getResponse(), true);
Subject client = (Subject)
request.getNote(Constants.REQ_JASPIC_SUBJECT_NOTE);
- if (client == null) {
- return;
- }
-
- ServerAuthContext serverAuthContext;
- try {
- ServerAuthConfig serverAuthConfig =
provider.getServerAuthConfig("HttpServlet",
- jaspicAppContextID, CallbackHandlerImpl.getInstance());
- String authContextID =
serverAuthConfig.getAuthContextID(messageInfo);
- serverAuthContext =
serverAuthConfig.getAuthContext(authContextID, null, null);
- serverAuthContext.cleanSubject(messageInfo, client);
- } catch (AuthException e) {
-
log.debug(sm.getString("authenticator.jaspicCleanSubjectFail"), e);
+ if (client != null) {
+ ServerAuthContext serverAuthContext;
+ try {
+ ServerAuthConfig serverAuthConfig =
provider.getServerAuthConfig("HttpServlet",
+ jaspicAppContextID,
CallbackHandlerImpl.getInstance());
+ String authContextID =
serverAuthConfig.getAuthContextID(messageInfo);
+ serverAuthContext =
serverAuthConfig.getAuthContext(authContextID, null, null);
+ serverAuthContext.cleanSubject(messageInfo, client);
+ } catch (AuthException e) {
+
log.debug(sm.getString("authenticator.jaspicCleanSubjectFail"), e);
+ }
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]