Improve IPA
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / ui / AbstractCmsEntryPoint.java
index 030b4104cda738f7607d7e1c4e33a2080226dea6..22a2ba3e1dbec9f6c74fe922b822c9845eb0256d 100644 (file)
@@ -12,7 +12,6 @@ import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 import javax.jcr.nodetype.NodeType;
 import javax.security.auth.Subject;
-import javax.security.auth.login.CredentialNotFoundException;
 import javax.security.auth.login.LoginContext;
 import javax.security.auth.login.LoginException;
 import javax.servlet.http.HttpServletRequest;
@@ -73,17 +72,15 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implement
                // Initial login
                try {
                        loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER,
-                                       new HttpRequestCallbackHandler(UiContext.getHttpRequest()));
+                                       new HttpRequestCallbackHandler(UiContext.getHttpRequest(), UiContext.getHttpResponse()));
                        loginContext.login();
-               } catch (CredentialNotFoundException e) {
+               } catch (LoginException e) {
                        try {
-                               loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_ANONYMOUS);
+                               loginContext = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER);
                                loginContext.login();
                        } catch (LoginException e1) {
-                               throw new CmsException("Cannot log as anonymous", e);
+                               throw new CmsException("Cannot log in as anonymous", e1);
                        }
-               } catch (LoginException e) {
-                       throw new CmsException("Cannot initialize subject", e);
                }
                authChange(loginContext);
 
@@ -175,11 +172,11 @@ public abstract class AbstractCmsEntryPoint extends AbstractEntryPoint implement
                        throw new CmsException("Login context should not be null");
                try {
                        loginContext.logout();
-                       LoginContext anonymousLc = new LoginContext(NodeConstants.LOGIN_CONTEXT_ANONYMOUS);
+                       LoginContext anonymousLc = new LoginContext(NodeConstants.LOGIN_CONTEXT_USER);
                        anonymousLc.login();
                        authChange(anonymousLc);
                } catch (LoginException e) {
-                       throw new CmsException("Cannot logout", e);
+                       log.error("Cannot logout", e);
                }
        }