package org.argeo.cms;
-import javax.security.auth.Subject;
-import javax.security.auth.login.LoginContext;
-import javax.security.auth.login.LoginException;
-
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.argeo.ArgeoException;
import org.argeo.cms.auth.ArgeoLoginContext;
-import org.argeo.security.NodeAuthenticationToken;
import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.core.Authentication;
-import org.springframework.security.core.context.SecurityContextHolder;
-/** Gateway for user login, can also generate the related UI. */
+/**
+ * Gateway for user login, can also generate the related UI.
+ *
+ * @deprecated Use {@link ArgeoLoginContext} instead
+ */
+@Deprecated
public class CmsLogin {
private final static Log log = LogFactory.getLog(CmsLogin.class);
- private AuthenticationManager authenticationManager;
-
- // private String systemKey = KernelConstants.DEFAULT_SECURITY_KEY;
- public void logInAsAnonymous() {
- Subject subject = new Subject();
- final LoginContext loginContext;
- try {
- loginContext = new ArgeoLoginContext(
- KernelHeader.LOGIN_CONTEXT_ANONYMOUS, subject);
- loginContext.login();
- } catch (LoginException e1) {
- throw new ArgeoException("Cannot authenticate anonymous", e1);
- }
- }
-
- public void logInWithPassword(String username, char[] password) {
- NodeAuthenticationToken token = new NodeAuthenticationToken(username,
- password);
- Authentication authentication = authenticationManager
- .authenticate(token);
- SecurityContextHolder.getContext().setAuthentication(authentication);
- // HttpSession httpSession = RWT.getRequest().getSession();
- // httpSession.setAttribute(SPRING_SECURITY_CONTEXT_KEY,
- // SecurityContextHolder.getContext());
- if (log.isDebugEnabled())
- log.debug("Authenticated as " + authentication);
+ public CmsLogin() {
+ log.warn("org.argeo.cms.CmsLogin is deprecated and will be removed soon.");
}
+ // private AuthenticationManager authenticationManager;
+ //
+ // public void logInAsAnonymous() {
+ // Subject subject = new Subject();
+ // final LoginContext loginContext;
+ // try {
+ // loginContext = new ArgeoLoginContext(
+ // KernelHeader.LOGIN_CONTEXT_ANONYMOUS, subject);
+ // loginContext.login();
+ // } catch (LoginException e1) {
+ // throw new ArgeoException("Cannot authenticate anonymous", e1);
+ // }
+ // }
+ //
+ // public void logInWithPassword(String username, char[] password) {
+ // NodeAuthenticationToken token = new NodeAuthenticationToken(username,
+ // password);
+ // Authentication authentication = authenticationManager
+ // .authenticate(token);
+ // SecurityContextHolder.getContext().setAuthentication(authentication);
+ // if (log.isDebugEnabled())
+ // log.debug("Authenticated as " + authentication);
+ // }
+ //
public void setAuthenticationManager(
AuthenticationManager authenticationManager) {
- this.authenticationManager = authenticationManager;
+ // this.authenticationManager = authenticationManager;
}
-
- // public void setSystemKey(String systemKey) {
- // this.systemKey = systemKey;
- // }
-
}