X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=sidebyside;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fauth%2FAnonymousLoginModule.java;h=1d24be7ade914c45b4e862ca9fe310844c83cb3c;hb=9ec85110269f8be5c83ea26e283359bb451a67b7;hp=7a1283afa9d7cc72ed93b50eafb07320ce7e4ff1;hpb=b45e59192a4bb34a6b38a9bfa416b3dc3f6b7892;p=lgpl%2Fargeo-commons.git diff --git a/org.argeo.cms/src/org/argeo/cms/auth/AnonymousLoginModule.java b/org.argeo.cms/src/org/argeo/cms/auth/AnonymousLoginModule.java index 7a1283afa..1d24be7ad 100644 --- a/org.argeo.cms/src/org/argeo/cms/auth/AnonymousLoginModule.java +++ b/org.argeo.cms/src/org/argeo/cms/auth/AnonymousLoginModule.java @@ -1,5 +1,6 @@ package org.argeo.cms.auth; +import java.util.Locale; import java.util.Map; import javax.security.auth.Subject; @@ -10,7 +11,6 @@ import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; -import org.argeo.cms.CmsException; import org.osgi.framework.BundleContext; import org.osgi.framework.FrameworkUtil; import org.osgi.service.useradmin.Authorization; @@ -36,7 +36,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); } } @@ -49,16 +49,19 @@ public class AnonymousLoginModule implements LoginModule { public boolean commit() throws LoginException { UserAdmin userAdmin = bc.getService(bc.getServiceReference(UserAdmin.class)); Authorization authorization = userAdmin.getAuthorization(null); - CmsAuthUtils.addAuthorization(subject, authorization, - (HttpServletRequest) sharedState.get(CmsAuthUtils.SHARED_STATE_HTTP_REQUEST)); - if (log.isDebugEnabled()) - log.debug("Anonymous logged in to CMS: " + subject); + HttpServletRequest request = (HttpServletRequest) sharedState.get(CmsAuthUtils.SHARED_STATE_HTTP_REQUEST); + Locale locale = Locale.getDefault(); + if (request != null) + locale = request.getLocale(); + CmsAuthUtils.addAuthorization(subject, authorization); + CmsAuthUtils.registerSessionAuthorization(request, subject, authorization, locale); + if (log.isTraceEnabled()) + log.trace("Anonymous logged in to CMS: " + subject); return true; } @Override public boolean abort() throws LoginException { - // authorization = null; return true; }