1 package org
.argeo
.cms
.auth
;
3 import java
.security
.Principal
;
7 import javax
.security
.auth
.Subject
;
8 import javax
.security
.auth
.callback
.CallbackHandler
;
9 import javax
.security
.auth
.login
.LoginException
;
10 import javax
.security
.auth
.spi
.LoginModule
;
11 import javax
.security
.auth
.x500
.X500Principal
;
13 import org
.apache
.jackrabbit
.core
.security
.SecurityConstants
;
14 import org
.apache
.jackrabbit
.core
.security
.principal
.AdminPrincipal
;
15 import org
.argeo
.cms
.internal
.auth
.ImpliedByPrincipal
;
16 import org
.argeo
.node
.NodeConstants
;
18 public class SingleUserLoginModule
implements LoginModule
, AuthConstants
{
19 private Subject subject
;
22 public void initialize(Subject subject
, CallbackHandler callbackHandler
,
23 Map
<String
, ?
> sharedState
, Map
<String
, ?
> options
) {
24 this.subject
= subject
;
28 public boolean login() throws LoginException
{
33 public boolean commit() throws LoginException
{
34 String username
= System
.getProperty("user.name");
35 X500Principal principal
= new X500Principal("uid=" + username
36 + ",dc=localhost,dc=localdomain");
37 Set
<Principal
> principals
= subject
.getPrincipals();
38 principals
.add(principal
);
39 principals
.add(new ImpliedByPrincipal(NodeConstants
.ROLE_ADMIN
, principal
));
41 principals
.add(new AdminPrincipal(SecurityConstants
.ADMIN_ID
));
46 public boolean abort() throws LoginException
{
51 public boolean logout() throws LoginException
{
52 // TODO Auto-generated method stub