1 package org
.argeo
.cms
.auth
;
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
;
10 import org
.argeo
.node
.DataAdminPrincipal
;
12 public class DataAdminLoginModule
implements LoginModule
{
13 private Subject subject
;
16 public void initialize(Subject subject
, CallbackHandler callbackHandler
,
17 Map
<String
, ?
> sharedState
, Map
<String
, ?
> options
) {
18 this.subject
= subject
;
22 public boolean login() throws LoginException
{
23 // TODO check permission?
28 public boolean commit() throws LoginException
{
29 subject
.getPrincipals().add(new DataAdminPrincipal());
34 public boolean abort() throws LoginException
{
39 public boolean logout() throws LoginException
{
40 // remove ALL credentials (e.g. additional Jackrabbit credentials)
41 subject
.getPrincipals().clear();