1 package org
.argeo
.security
.jackrabbit
;
4 import java
.security
.PrivilegedExceptionAction
;
6 import javax
.jcr
.Repository
;
7 import javax
.jcr
.Session
;
8 import javax
.security
.auth
.Subject
;
9 import javax
.security
.auth
.login
.LoginContext
;
11 import org
.apache
.commons
.logging
.Log
;
12 import org
.apache
.commons
.logging
.LogFactory
;
13 import org
.argeo
.jackrabbit
.unit
.AbstractJackrabbitTestCase
;
15 public class JackrabbitAuthTest
extends AbstractJackrabbitTestCase
{
16 private final Log log
= LogFactory
.getLog(JackrabbitAuthTest
.class);
18 public void testLogin() throws Exception
{
19 Subject subject
= new Subject();
20 LoginContext loginContext
= new LoginContext("SYSTEM", subject
);
22 Subject
.doAs(subject
, new PrivilegedExceptionAction
<Void
>() {
25 public Void
run() throws Exception
{
26 Repository repository
= getRepository();
27 Session session
= repository
.login();
28 log
.debug(session
.getUserID());
35 protected Repository
createRepository() throws Exception
{
36 URL url
= getClass().getResource("test_jaas.config");
37 System
.setProperty("java.security.auth.login.config", url
.toString());
38 return super.createRepository();
42 protected void clearRepository(Repository repository
) throws Exception
{
43 System
.setProperty("java.security.auth.login.config", "");
47 protected String
getRepositoryConfigResource() {
48 return "/org/argeo/security/jackrabbit/repository-memory-test.xml";