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
.argeo
.cms
.internal
.auth
.ImpliedByPrincipal
;
14 import org
.argeo
.node
.NodeConstants
;
15 import org
.argeo
.node
.security
.DataAdminPrincipal
;
17 public class SingleUserLoginModule
implements LoginModule
{
18 private Subject subject
;
21 public void initialize(Subject subject
, CallbackHandler callbackHandler
, Map
<String
, ?
> sharedState
,
22 Map
<String
, ?
> options
) {
23 this.subject
= subject
;
27 public boolean login() throws LoginException
{
32 public boolean commit() throws LoginException
{
33 String username
= System
.getProperty("user.name");
34 X500Principal principal
= new X500Principal("uid=" + username
+ ",dc=localhost,dc=localdomain");
35 Set
<Principal
> principals
= subject
.getPrincipals();
36 principals
.add(principal
);
37 principals
.add(new ImpliedByPrincipal(NodeConstants
.ROLE_ADMIN
, principal
));
38 principals
.add(new DataAdminPrincipal());
43 public boolean abort() throws LoginException
{
48 public boolean logout() throws LoginException
{
49 // TODO Auto-generated method stub