System authentication
[lgpl/argeo-commons.git] / org.argeo.security.jackrabbit / ext / test / org / argeo / security / jackrabbit / JackrabbitAuthTest.java
index 45a6567aa45b603e3bbdef70d8473e7cdd8b23e6..140dfa67fcd833b23925c4fc117fb5e00d74ed3b 100644 (file)
@@ -1,9 +1,12 @@
 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;
@@ -13,13 +16,19 @@ public class JackrabbitAuthTest extends AbstractJackrabbitTestCase {
        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