X-Git-Url: https://git.argeo.org/?a=blobdiff_plain;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FIdentLoginModule.java;h=f5e4085c32a97e456822e60877c99f8ef121b473;hb=7064547ae5d85225546f1b8f15d6b5c82f30fe22;hp=b831097ccd3d034729c16eab2026414077c9250f;hpb=a394abb1f514c5e65d6ed1b197468f468bdc09b2;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 b831097cc..f5e4085c3 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java @@ -9,24 +9,23 @@ import javax.security.auth.callback.CallbackHandler; import javax.security.auth.callback.UnsupportedCallbackException; import javax.security.auth.login.LoginException; import javax.security.auth.spi.LoginModule; -import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; 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; } @@ -43,7 +42,9 @@ public class IdentLoginModule implements LoginModule { } catch (UnsupportedCallbackException e) { return false; } - HttpServletRequest request = httpCallback.getRequest(); + HttpRequest request = httpCallback.getRequest(); + if (request == null) + return false; IdentClient identClient = Activator.getIdentClient(request.getRemoteAddr()); if (identClient == null) return false;