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: [email protected]
For additional commands, e-mail: [email protected]