Search code examples
javajcrjackrabbit-oak

Passing LoginContext as Credentials for Repository Login in JCR (java content Repository)


I have been passing logincontext object in as credentials to get session for repository login like this

Repository repo = new Jcr(new Oak()).createRepository();
    final LoginContext lc= JaasAuthenticationTest.getlogincontext(); 
    Credentials credentials = new Credentials() {
        public LoginContext getLoginContext() { return lc; }
        };
Session session = repo.login(credentials);

and JaasAuthenticationTest Looks like

    lc = new LoginContext("nikhil", new TestCallbackHandler(name, password));
    return lc;

But shows error:

javax.jcr.LoginException: Login Failure: all modules ignored
at org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:262)
at org.apache.jackrabbit.oak.jcr.repository.RepositoryImpl.login(RepositoryImpl.java:220)

Solution

  • Have you tried:

    session = repository.login(new SimpleCredentials("username", "password".toCharArray()));