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
.security
.DataAdminPrincipal
;
12 /** Logs a system process as data admin */
13 public class DataAdminLoginModule
implements LoginModule
{
14 private Subject subject
;
17 public void initialize(Subject subject
, CallbackHandler callbackHandler
, Map
<String
, ?
> sharedState
,
18 Map
<String
, ?
> options
) {
19 this.subject
= subject
;
23 public boolean login() throws LoginException
{
24 // TODO check permission?
29 public boolean commit() throws LoginException
{
30 subject
.getPrincipals().add(new DataAdminPrincipal());
35 public boolean abort() throws LoginException
{
40 public boolean logout() throws LoginException
{
41 subject
.getPrincipals().removeAll(subject
.getPrincipals(DataAdminPrincipal
.class));