You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/06/01 01:57:24 UTC
svn commit: r1344944 - in
/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina:
TomEEJAASRealm.java TomEERealm.java
Author: rmannibucau
Date: Thu May 31 23:57:24 2012
New Revision: 1344944
URL: http://svn.apache.org/viewvc?rev=1344944&view=rev
Log:
TOMEE-212 using a combined realm to be more generic
Added:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java
- copied, changed from r1344942, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEJAASRealm.java
Removed:
openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEJAASRealm.java
Copied: openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java (from r1344942, openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEJAASRealm.java)
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java?p2=openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java&p1=openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEJAASRealm.java&r1=1344942&r2=1344944&rev=1344944&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEEJAASRealm.java (original)
+++ openejb/trunk/openejb/tomee/tomee-catalina/src/main/java/org/apache/tomee/catalina/TomEERealm.java Thu May 31 23:57:24 2012
@@ -1,16 +1,39 @@
package org.apache.tomee.catalina;
import java.security.Principal;
+import java.security.cert.X509Certificate;
import javax.security.auth.callback.CallbackHandler;
+import org.apache.catalina.realm.CombinedRealm;
import org.apache.catalina.realm.JAASRealm;
import org.apache.openejb.loader.SystemInstance;
import org.apache.openejb.spi.SecurityService;
+import org.ietf.jgss.GSSContext;
-public class TomEEJAASRealm extends JAASRealm {
+public class TomEERealm extends CombinedRealm {
@Override
- protected Principal authenticate(String username, CallbackHandler callbackHandler) {
- final Principal principal = super.authenticate(username, callbackHandler);
- if (principal == null) {
+ public Principal authenticate(String username, String password) {
+ return logInTomEE(super.authenticate(username, password));
+ }
+
+ @Override
+ public Principal authenticate(X509Certificate[] certs) {
+ return logInTomEE(super.authenticate(certs));
+ }
+
+ @Override
+ public Principal authenticate(String username, String clientDigest,
+ String nonce, String nc, String cnonce, String qop,
+ String realmName, String md5a2) {
+ return logInTomEE(super.authenticate(username, clientDigest, nonce, nc, cnonce, qop, realmName, md5a2));
+ }
+
+ @Override
+ public Principal authenticate(GSSContext gssContext, boolean storeCreds) {
+ return logInTomEE(super.authenticate(gssContext, storeCreds));
+ }
+
+ private Principal logInTomEE(final Principal pcp) {
+ if (pcp == null) {
return null;
}
@@ -20,11 +43,11 @@ public class TomEEJAASRealm extends JAAS
// which is the previous one
// so no need to clean twice here
if (OpenEJBSecurityListener.requests.get() != null) {
- ss.enterWebApp(this, principal, OpenEJBSecurityListener.requests.get().getWrapper().getRunAs());
+ ss.enterWebApp(this, pcp, OpenEJBSecurityListener.requests.get().getWrapper().getRunAs());
} else {
- ss.enterWebApp(this, principal, null);
+ ss.enterWebApp(this, pcp, null);
}
}
- return principal;
+ return pcp;
}
}