You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2015/06/23 13:13:20 UTC

svn commit: r1687025 - in /tomcat/trunk/java/org/apache/catalina/authenticator/jaspic: JaspicAuthenticator.java MessageInfoImpl.java provider/modules/TomcatAuthModule.java

Author: markt
Date: Tue Jun 23 11:13:20 2015
New Revision: 1687025

URL: http://svn.apache.org/r1687025
Log:
Added realm name support for JASPIC modules 
Patch by fjodorver

Modified:
    tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
    tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java
    tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java?rev=1687025&r1=1687024&r2=1687025&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/JaspicAuthenticator.java Tue Jun 23 11:13:20 2015
@@ -23,7 +23,6 @@ import java.util.Set;
 import javax.security.auth.Subject;
 import javax.security.auth.message.AuthException;
 import javax.security.auth.message.AuthStatus;
-import javax.security.auth.message.MessageInfo;
 import javax.security.auth.message.config.AuthConfigFactory;
 import javax.security.auth.message.config.AuthConfigProvider;
 import javax.security.auth.message.config.ServerAuthConfig;
@@ -69,7 +68,8 @@ public class JaspicAuthenticator extends
             return true;
         }
 
-        MessageInfo messageInfo = new MessageInfoImpl(request, response, true, getAuthMethod());
+        MessageInfoImpl messageInfo = new MessageInfoImpl(request, response, true, getAuthMethod());
+        messageInfo.setRealmName(getRealmName(context));
 
         AuthConfigFactory factory = AuthConfigFactory.getFactory();
         String appContext = getAppContextId(request);

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java?rev=1687025&r1=1687024&r2=1687025&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/MessageInfoImpl.java Tue Jun 23 11:13:20 2015
@@ -28,6 +28,7 @@ import org.apache.catalina.connector.Req
 public class MessageInfoImpl implements MessageInfo {
     public static final String IS_MANDATORY = "javax.security.auth.message.MessagePolicy.isMandatory";
     public static final String AUTH_METHOD = "javax.servlet.http.authType";
+    public static final String REALM_NAME = "javax.servlet.http.realmName";
 
     private final Map<String, Object> map = new HashMap<>();
     private HttpServletRequest request;
@@ -44,6 +45,10 @@ public class MessageInfoImpl implements
         map.put(AUTH_METHOD, authMethod);
     }
 
+    public void setRealmName(String realmName) {
+        map.put(REALM_NAME, realmName);
+    }
+
     @Override
     @SuppressWarnings("rawtypes")
     // JASPIC uses raw types

Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java?rev=1687025&r1=1687024&r2=1687025&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java (original)
+++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/provider/modules/TomcatAuthModule.java Tue Jun 23 11:13:20 2015
@@ -45,11 +45,11 @@ public abstract class TomcatAuthModule i
     }
 
 
+    @SuppressWarnings("unchecked")
     protected static String getRealmName(MessageInfo messageInfo) {
         if (messageInfo == null) {
             return REALM_NAME;
         }
-        // TODO get realm name from message
-        return REALM_NAME;
+        return (String) messageInfo.getMap().getOrDefault(MessageInfoImpl.REALM_NAME, REALM_NAME);
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org