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-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to