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
;
17 public class SingleUserLoginModule
implements LoginModule
, AuthConstants
{
18 private Subject subject
;
21 public void initialize(Subject subject
, CallbackHandler callbackHandler
,
22 Map
<String
, ?
> sharedState
, 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
35 + ",dc=localhost,dc=localdomain");
36 Set
<Principal
> principals
= subject
.getPrincipals();
37 principals
.add(principal
);
38 principals
.add(new ImpliedByPrincipal(ROLE_ADMIN
, principal
));
40 principals
.add(new AdminPrincipal(SecurityConstants
.ADMIN_ID
));
45 public boolean abort() throws LoginException
{
50 public boolean logout() throws LoginException
{
51 // TODO Auto-generated method stub