Massive Argeo APIs refactoring
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / auth / AnonymousLoginModule.java
index eca28e8b9bd444192f18f3bacbeb49468fdd7731..de3a3027012b973b0ffbfff3b57d3e187b30035b 100644 (file)
@@ -7,11 +7,8 @@ import javax.security.auth.Subject;
 import javax.security.auth.callback.CallbackHandler;
 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.CmsException;
+import org.argeo.api.cms.CmsLog;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.FrameworkUtil;
 import org.osgi.service.useradmin.Authorization;
@@ -19,7 +16,7 @@ import org.osgi.service.useradmin.UserAdmin;
 
 /** Anonymous CMS user */
 public class AnonymousLoginModule implements LoginModule {
-       private final static Log log = LogFactory.getLog(AnonymousLoginModule.class);
+       private final static CmsLog log = CmsLog.getLog(AnonymousLoginModule.class);
 
        private Subject subject;
        private Map<String, Object> sharedState = null;
@@ -37,7 +34,7 @@ public class AnonymousLoginModule implements LoginModule {
                        bc = FrameworkUtil.getBundle(AnonymousLoginModule.class).getBundleContext();
                        assert bc != null;
                } catch (Exception e) {
-                       throw new CmsException("Cannot initialize login module", e);
+                       throw new IllegalStateException("Cannot initialize login module", e);
                }
        }
 
@@ -50,11 +47,12 @@ public class AnonymousLoginModule implements LoginModule {
        public boolean commit() throws LoginException {
                UserAdmin userAdmin = bc.getService(bc.getServiceReference(UserAdmin.class));
                Authorization authorization = userAdmin.getAuthorization(null);
-               HttpServletRequest request = (HttpServletRequest) sharedState.get(CmsAuthUtils.SHARED_STATE_HTTP_REQUEST);
+               RemoteAuthRequest request = (RemoteAuthRequest) sharedState.get(CmsAuthUtils.SHARED_STATE_HTTP_REQUEST);
                Locale locale = Locale.getDefault();
                if (request != null)
                        locale = request.getLocale();
-               CmsAuthUtils.addAuthorization(subject, authorization, locale, request);
+               CmsAuthUtils.addAuthorization(subject, authorization);
+               CmsAuthUtils.registerSessionAuthorization(request, subject, authorization, locale);
                if (log.isTraceEnabled())
                        log.trace("Anonymous logged in to CMS: " + subject);
                return true;
@@ -62,7 +60,6 @@ public class AnonymousLoginModule implements LoginModule {
 
        @Override
        public boolean abort() throws LoginException {
-               // authorization = null;
                return true;
        }