]> git.argeo.org Git - lgpl/argeo-commons.git/blob - jcr/org.argeo.cms.jcr/src/org/argeo/jackrabbit/JackrabbitAdminLoginModule.java
Improve migration
[lgpl/argeo-commons.git] / jcr / org.argeo.cms.jcr / src / org / argeo / jackrabbit / JackrabbitAdminLoginModule.java
1 package org.argeo.jackrabbit;
2
3 import java.util.Map;
4
5 import javax.security.auth.Subject;
6 import javax.security.auth.callback.CallbackHandler;
7 import javax.security.auth.login.LoginException;
8 import javax.security.auth.spi.LoginModule;
9
10 import org.apache.jackrabbit.core.security.SecurityConstants;
11 import org.apache.jackrabbit.core.security.principal.AdminPrincipal;
12
13 @Deprecated
14 public class JackrabbitAdminLoginModule implements LoginModule {
15 private Subject subject;
16
17 @Override
18 public void initialize(Subject subject, CallbackHandler callbackHandler,
19 Map<String, ?> sharedState, Map<String, ?> options) {
20 this.subject = subject;
21 }
22
23 @Override
24 public boolean login() throws LoginException {
25 // TODO check permission?
26 return true;
27 }
28
29 @Override
30 public boolean commit() throws LoginException {
31 subject.getPrincipals().add(
32 new AdminPrincipal(SecurityConstants.ADMIN_ID));
33 return true;
34 }
35
36 @Override
37 public boolean abort() throws LoginException {
38 return true;
39 }
40
41 @Override
42 public boolean logout() throws LoginException {
43 subject.getPrincipals().removeAll(
44 subject.getPrincipals(AdminPrincipal.class));
45 return true;
46 }
47
48 }