package org.argeo.security.jackrabbit;
import java.net.URL;
+import java.security.PrivilegedExceptionAction;
import javax.jcr.Repository;
import javax.jcr.Session;
+import javax.security.auth.Subject;
+import javax.security.auth.login.LoginContext;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
private final Log log = LogFactory.getLog(JackrabbitAuthTest.class);
public void testLogin() throws Exception {
- // Subject subject = new Subject();
- // LoginContext loginContext = new LoginContext("UNIX",subject);
- // loginContext.login();
-
- Repository repository = getRepository();
- Session session = repository.login();
- log.debug(session.getUserID());
+ Subject subject = new Subject();
+ LoginContext loginContext = new LoginContext("SYSTEM", subject);
+ loginContext.login();
+ Subject.doAs(subject, new PrivilegedExceptionAction<Void>() {
+
+ @Override
+ public Void run() throws Exception {
+ Repository repository = getRepository();
+ Session session = repository.login();
+ log.debug(session.getUserID());
+ return null;
+ }
+ });
}
@Override