]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/auth/IdentLoginModule.java
Introduce CMS Servlet.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / IdentLoginModule.java
index b831097ccd3d034729c16eab2026414077c9250f..f5e4085c32a97e456822e60877c99f8ef121b473 100644 (file)
@@ -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<String, Object> sharedState = null;
 
+       @SuppressWarnings("unchecked")
        @Override
        public void initialize(Subject subject, CallbackHandler callbackHandler, Map<String, ?> sharedState,
                        Map<String, ?> options) {
-               this.subject = subject;
                this.callbackHandler = callbackHandler;
                this.sharedState = (Map<String, Object>) 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;