CCM NG: Some work on the login form.

git-svn-id: https://svn.libreccm.org/ccm/ccm_ng@3848 8810af33-2d31-482b-a856-94f89814c4df
pull/2/head
jensp 2016-02-08 18:15:46 +00:00
parent 22dd841c11
commit d6114efcf7
4 changed files with 48 additions and 39 deletions

View File

@ -53,8 +53,13 @@ import com.arsdigita.web.ParameterMap;
import com.arsdigita.web.RedirectSignal; import com.arsdigita.web.RedirectSignal;
import com.arsdigita.web.ReturnSignal; import com.arsdigita.web.ReturnSignal;
import com.arsdigita.web.URL; import com.arsdigita.web.URL;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import java.util.Iterator; import java.util.Iterator;
import java.util.Set; import java.util.Set;
import javax.enterprise.context.spi.CreationalContext; import javax.enterprise.context.spi.CreationalContext;
import javax.enterprise.inject.spi.Bean; import javax.enterprise.inject.spi.Bean;
import javax.enterprise.inject.spi.BeanManager; import javax.enterprise.inject.spi.BeanManager;
@ -62,7 +67,6 @@ import javax.enterprise.inject.spi.CDI;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger;
import org.apache.shiro.authc.AuthenticationException; import org.apache.shiro.authc.AuthenticationException;
import org.apache.shiro.authc.UsernamePasswordToken; import org.apache.shiro.authc.UsernamePasswordToken;
import org.libreccm.cdi.utils.CdiUtil; import org.libreccm.cdi.utils.CdiUtil;
@ -98,7 +102,8 @@ public class UserLoginForm extends Form implements LoginConstants,
FormValidationListener, FormValidationListener,
FormProcessListener { FormProcessListener {
private static final Logger s_log = Logger.getLogger(UserLoginForm.class); private static final Logger LOGGER = LogManager.getLogger(
UserLoginForm.class);
// package friendly static form name makes writing HttpUnitTest easier // package friendly static form name makes writing HttpUnitTest easier
final static String FORM_NAME = "user-login"; final static String FORM_NAME = "user-login";
@ -145,8 +150,9 @@ public class UserLoginForm extends Form implements LoginConstants,
final ConfigurationManager confManager; final ConfigurationManager confManager;
if (iterator.hasNext()) { if (iterator.hasNext()) {
@SuppressWarnings("unchecked") @SuppressWarnings("unchecked")
final Bean<ConfigurationManager> bean = (Bean<ConfigurationManager>) iterator. final Bean<ConfigurationManager> bean
next(); = (Bean<ConfigurationManager>) iterator
.next();
final CreationalContext<ConfigurationManager> ctx = beanManager. final CreationalContext<ConfigurationManager> ctx = beanManager.
createCreationalContext(bean); createCreationalContext(bean);
@ -262,13 +268,13 @@ public class UserLoginForm extends Form implements LoginConstants,
@Override @Override
public void init(FormSectionEvent event) public void init(FormSectionEvent event)
throws FormProcessException { throws FormProcessException {
s_log.info("In init"); LOGGER.info("In init");
final KernelConfig kernelConfig = KernelConfig.getConfig(); final KernelConfig kernelConfig = KernelConfig.getConfig();
if (kernelConfig.isSsoEnabled()) { if (kernelConfig.isSsoEnabled()) {
// try SSO login // try SSO login
s_log.info("trying SSO"); LOGGER.info("trying SSO");
// try { // try {
throw new UnsupportedOperationException( throw new UnsupportedOperationException(
"SSO currently not supported"); "SSO currently not supported");
@ -304,7 +310,7 @@ public class UserLoginForm extends Form implements LoginConstants,
public void validate(FormSectionEvent event) public void validate(FormSectionEvent event)
throws FormProcessException { throws FormProcessException {
s_log.debug("In validate"); LOGGER.debug("In validate");
FormData data = event.getFormData(); FormData data = event.getFormData();
PageState state = event.getPageState(); PageState state = event.getPageState();
@ -342,7 +348,7 @@ public class UserLoginForm extends Form implements LoginConstants,
@Override @Override
public void process(final FormSectionEvent event) public void process(final FormSectionEvent event)
throws FormProcessException { throws FormProcessException {
s_log.debug("In process"); LOGGER.debug("In process");
final PageState state = event.getPageState(); final PageState state = event.getPageState();
final HttpServletRequest req = state.getRequest(); final HttpServletRequest req = state.getRequest();
@ -374,7 +380,7 @@ public class UserLoginForm extends Form implements LoginConstants,
final Subject subject = cdiUtil.findBean(Subject.class); final Subject subject = cdiUtil.findBean(Subject.class);
final UsernamePasswordToken token = new UsernamePasswordToken( final UsernamePasswordToken token = new UsernamePasswordToken(
(String) m_loginName.getValue(state), m_loginName.getValue(state).toString(),
(String) m_password.getValue(state) (String) m_password.getValue(state)
); );
token.setRememberMe(getPersistentLoginValue(state, false)); token.setRememberMe(getPersistentLoginValue(state, false));
@ -383,6 +389,8 @@ public class UserLoginForm extends Form implements LoginConstants,
} catch (AuthenticationException ex) { } catch (AuthenticationException ex) {
onLoginFail(event, ex); onLoginFail(event, ex);
} }
LOGGER.debug("User {} logged in successfully.", token.getUsername());
} }
/** /**
@ -424,7 +432,7 @@ public class UserLoginForm extends Form implements LoginConstants,
protected void onLoginFail(final FormSectionEvent event, protected void onLoginFail(final FormSectionEvent event,
final AuthenticationException ex) final AuthenticationException ex)
throws FormProcessException { throws FormProcessException {
s_log.debug("Login fail"); LOGGER.debug("Login fail");
event.getFormData().addError(ERROR_LOGIN_FAIL); event.getFormData().addError(ERROR_LOGIN_FAIL);
} }

View File

@ -41,8 +41,9 @@ public class SystemUsersSetup {
private static final Logger LOGGER = LogManager.getLogger( private static final Logger LOGGER = LogManager.getLogger(
SystemUsersSetup.class); SystemUsersSetup.class);
//Default password is "libreccm"
private static final String DEFAULT_ADMIN_PW private static final String DEFAULT_ADMIN_PW
= "$shiro1$SHA-512$500000$MFPkVikNoRrBZ8R8CxQIHA==$UvgO2K+poSRGw5co63P3ygpWsX7H9N0TgqdrZPBqdXv6Q+/OCL/qOocVbg65/Yjv5hyri6A3zhw7K8mEgpISoA=="; = "$shiro1$SHA-512$500000$MFPkVikNoRrBZ8R8CxQIHA==$ybEECtSPukmXDbV27a3LnWktFsh9lQl2ZYqCUtV0NF9G35Rt0+Tzp1msNLBQUVv15SrsdFgBSfhgWfZFyTva+Q==";
private final EntityManager entityManager; private final EntityManager entityManager;

View File

@ -94,7 +94,7 @@ processor, some are read from the configuration files of Foundry and some are de
</foundry:doc-desc> </foundry:doc-desc>
</foundry:doc> </foundry:doc>
<xsl:param name="theme-prefix" <xsl:param name="theme-prefix"
select="concat($context-prefix, 'themes/libreccm-default/')"/> select="concat($context-prefix, '/themes/libreccm-default')"/>
<foundry:doc section="devel" type="env-var"> <foundry:doc section="devel" type="env-var">
<foundry:doc-desc> <foundry:doc-desc>

View File

@ -17,6 +17,6 @@
<setting id="log-level">warn</setting> <setting id="log-level">warn</setting>
<setting id="site-logo">images/cms-logo.png</setting> <setting id="site-logo">images/libreccm.png</setting>
</foundry:configuration> </foundry:configuration>