X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FIdentLoginModule.java;h=ec6b5a30c196b77b7bde1ed4c10cb0f7e8568d31;hb=9a5f846695f89d50908b8f6d7eb63e73a16d435f;hp=b4c49b285ed56ebe6e3ea729a7f6d61de67595d4;hpb=c1d7a7fa363100689019e733314723196280175b;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java index b4c49b285..ec6b5a30c 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java @@ -16,17 +16,17 @@ import org.apache.commons.logging.LogFactory; import org.argeo.cms.internal.kernel.Activator; import org.argeo.ident.IdentClient; +/** Use an ident service to identify. */ public class IdentLoginModule implements LoginModule { private final static Log log = LogFactory.getLog(IdentLoginModule.class); - private Subject subject = null; private CallbackHandler callbackHandler = null; private Map sharedState = null; + @SuppressWarnings("unchecked") @Override public void initialize(Subject subject, CallbackHandler callbackHandler, Map sharedState, Map options) { - this.subject = subject; this.callbackHandler = callbackHandler; this.sharedState = (Map) sharedState; } @@ -44,6 +44,8 @@ public class IdentLoginModule implements LoginModule { return false; } HttpServletRequest request = httpCallback.getRequest(); + if (request == null) + return false; IdentClient identClient = Activator.getIdentClient(request.getRemoteAddr()); if (identClient == null) return false; @@ -56,7 +58,8 @@ public class IdentLoginModule implements LoginModule { } if (identUsername != null) { if (log.isDebugEnabled()) - log.debug("Ident username: " + identUsername); + log.debug("Ident username: " + identUsername + " (local port: " + request.getLocalPort() + + ", remote port: " + request.getRemotePort() + ")"); sharedState.put(CmsAuthUtils.SHARED_STATE_NAME, identUsername); sharedState.put(CmsAuthUtils.SHARED_STATE_REMOTE_ADDR, request.getRemoteAddr()); sharedState.put(CmsAuthUtils.SHARED_STATE_REMOTE_PORT, request.getRemotePort());