Make data admin log-in more robust and easier to use.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / IdentLoginModule.java
index b4c49b285ed56ebe6e3ea729a7f6d61de67595d4..ff741d8a05464588a27d33782b3bab852e77d968 100644 (file)
@@ -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<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;
        }
@@ -56,7 +56,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());