package org.brixcms.plugin.demo.web;
import javax.jcr.Credentials;
import javax.jcr.Repository;
import javax.jcr.SimpleCredentials;
import org.brixcms.jcr.ThreadLocalSessionFactory;
import org.brixcms.plugin.usermgmt.user.User;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* @author dan.simko@gmail.com
*/
public class DemoThreadLocalSessionFactory extends ThreadLocalSessionFactory {
private static final Logger LOG = LoggerFactory.getLogger(DemoThreadLocalSessionFactory.class);
public DemoThreadLocalSessionFactory(Repository repository, Credentials credentials) {
super(repository, credentials);
}
@Override
protected Credentials getCredentials() {
AuthenticatedSession session;
try {
session = AuthenticatedSession.get();
} catch (Exception e) {
LOG.trace(e.getMessage(), e);
return super.getCredentials();
}
User user = session.getUser();
if (user == null) {
return super.getCredentials();
}
return new SimpleCredentials(user.getUsername(), new char[0]);
}
}