net.sf.jguard.authorization
Interface AuthorizationManager

All Superinterfaces:
PermissionProvider
All Known Implementing Classes:
AbstractAuthorizationManager, JdbcAuthorizationManager, XmlAuthorizationManager

public interface AuthorizationManager
extends PermissionProvider

retrieve user's permissions.

Author:
Charles Gay, Vinícius Pitta Lima de Araújo, Maximiliano Batelli

Method Summary
 void addInheritance(java.lang.String roleAscName, java.lang.String roleDescName)
          This commands establishes a new immediate inheritance relationship between the existing principals roleAsc and the roleDesc.
 void addToPrincipal(java.lang.String roleName, Domain domain)
           
 void addToPrincipal(java.lang.String roleName, java.security.Permission perm)
           
 java.security.Principal clonePrincipal(java.lang.String roleName)
          Clone a Principal with a random name
 java.security.Principal clonePrincipal(java.lang.String roleName, java.lang.String cloneName)
          Clone a Principal.
 void createDomain(java.lang.String domainName)
           
 void createPermission(java.security.Permission url, java.lang.String domainName)
          create an URLPermission
 void createPrincipal(java.security.Principal principal)
           
 void deleteDomain(java.lang.String domainName)
           
 void deleteInheritance(java.lang.String roleAscName, java.lang.String roleDescName)
          Delete the existing inheritance beteween roleAsc and roleDesc.
 void deletePermission(java.lang.String permissionName)
           
 void deletePrincipal(java.security.Principal principal)
           
 java.util.Set getDomains(java.util.Collection domainNames)
           
 java.util.Set getDomainsSet()
          return an unmodifiable Domain Set.
 java.util.List getInitParameters()
          return needed initialization parameters.
 java.security.PermissionCollection getPermissionCollection(java.util.Set principals)
          Get permission collection.
 java.util.Set getPermissions(java.util.Collection permissionNames)
           
 java.util.Set getPermissionsSet()
          return an unmodifiable Permissions Set.
 java.util.Set getPrincipalsSet()
          return an unmodifiable Principal Set.
 void init(java.util.Map options)
          init AuthorizationManager implementation with a parameters map
 boolean isEmpty()
           
 java.util.Set listDomains()
           
 JGPermissionCollection listPermissions()
           
 java.util.Set listPrincipals()
           
 Domain readDomain(java.lang.String domainName)
           
 java.security.Permission readPermission(java.lang.String permissionName)
           
 java.security.Principal readPrincipal(java.lang.String roleName)
           
 void refresh()
          refresh principals and permissions data.
 void updateDomain(java.lang.String newName, java.lang.String oldName)
           
 void updatePermission(java.lang.String oldPermissionName, java.security.Permission url, java.lang.String newDomainName)
           
 void updatePrincipal(java.security.Principal principal)
          replace the inital principal with the new one.
 void updatePrincipal(java.lang.String oldPrincipalName, java.security.Principal principal)
          update the application Principal (role).
 

Method Detail

init

void init(java.util.Map options)
init AuthorizationManager implementation with a parameters map

Specified by:
init in interface PermissionProvider
Parameters:
options -

getPermissionCollection

java.security.PermissionCollection getPermissionCollection(java.util.Set principals)
Description copied from interface: PermissionProvider
Get permission collection.

Specified by:
getPermissionCollection in interface PermissionProvider
Parameters:
principals - - set value for principals
Returns:
permission collection value

getInitParameters

java.util.List getInitParameters()
return needed initialization parameters.

Returns:
parameters list.

refresh

void refresh()
refresh principals and permissions data.

Specified by:
refresh in interface PermissionProvider

createPermission

void createPermission(java.security.Permission url,
                      java.lang.String domainName)
                      throws AuthorizationException
create an URLPermission

Parameters:
url -
Throws:
AuthorizationException

readPermission

java.security.Permission readPermission(java.lang.String permissionName)
                                        throws AuthorizationException
Throws:
AuthorizationException

updatePermission

void updatePermission(java.lang.String oldPermissionName,
                      java.security.Permission url,
                      java.lang.String newDomainName)
                      throws AuthorizationException
Throws:
AuthorizationException

deletePermission

void deletePermission(java.lang.String permissionName)
                      throws AuthorizationException
Throws:
AuthorizationException

listPermissions

JGPermissionCollection listPermissions()

createDomain

void createDomain(java.lang.String domainName)
                  throws AuthorizationException
Throws:
AuthorizationException

readDomain

Domain readDomain(java.lang.String domainName)
                  throws AuthorizationException
Throws:
AuthorizationException

updateDomain

void updateDomain(java.lang.String newName,
                  java.lang.String oldName)
                  throws AuthorizationException
Throws:
AuthorizationException

deleteDomain

void deleteDomain(java.lang.String domainName)
                  throws AuthorizationException
Throws:
AuthorizationException

listDomains

java.util.Set listDomains()
                          throws AuthorizationException
Throws:
AuthorizationException

createPrincipal

void createPrincipal(java.security.Principal principal)
                     throws AuthorizationException
Throws:
AuthorizationException

clonePrincipal

java.security.Principal clonePrincipal(java.lang.String roleName)
                                       throws AuthorizationException
Clone a Principal with a random name

Parameters:
roleName - Principal name to clone
Returns:
cloned Principal with a different name: roleName + Random integer betweeen 0 and 99999
Throws:
AuthorizationException

clonePrincipal

java.security.Principal clonePrincipal(java.lang.String roleName,
                                       java.lang.String cloneName)
                                       throws AuthorizationException
Clone a Principal. If Principal is instance of JGuardPrincipal makes a call to the clone method leting the clone task to JGuardPrincipal

Parameters:
roleName - Principal name to clone
cloneName - Principal cloned name
Returns:
cloned Principal with the given cloneName
Throws:
AuthorizationException

readPrincipal

java.security.Principal readPrincipal(java.lang.String roleName)
                                      throws AuthorizationException
Throws:
AuthorizationException

updatePrincipal

void updatePrincipal(java.lang.String oldPrincipalName,
                     java.security.Principal principal)
                     throws AuthorizationException
update the application Principal (role).

Parameters:
principal - the new principal updated
Throws:
AuthorizationException
See Also:
net.sf.jguard.authorization.AuthorizationManager#updatePrincipal(net.sf.jguard.principals.JGuardPrincipal)

deletePrincipal

void deletePrincipal(java.security.Principal principal)
                     throws AuthorizationException
Throws:
AuthorizationException

listPrincipals

java.util.Set listPrincipals()

getDomains

java.util.Set getDomains(java.util.Collection domainNames)

getPermissions

java.util.Set getPermissions(java.util.Collection permissionNames)

addToPrincipal

void addToPrincipal(java.lang.String roleName,
                    java.security.Permission perm)
                    throws AuthorizationException
Throws:
AuthorizationException

addToPrincipal

void addToPrincipal(java.lang.String roleName,
                    Domain domain)
                    throws AuthorizationException
Throws:
AuthorizationException

addInheritance

void addInheritance(java.lang.String roleAscName,
                    java.lang.String roleDescName)
                    throws AuthorizationException
This commands establishes a new immediate inheritance relationship between the existing principals roleAsc and the roleDesc. The command is valid if and only if the role roleAsc is not an immediate ascendant of roleDesc, and descendant does not properly inherit roleAsc role (in order to avoid cycle creation).

Parameters:
roleAscName - the role that will inherite.
roleDescName - the role that will be inherited.
Throws:
AuthorizationException - if the inheritance already exists or create a cycle.

deleteInheritance

void deleteInheritance(java.lang.String roleAscName,
                       java.lang.String roleDescName)
                       throws AuthorizationException
Delete the existing inheritance beteween roleAsc and roleDesc.

Parameters:
roleAscName -
roleDescName -
Throws:
AuthorizationException

updatePrincipal

void updatePrincipal(java.security.Principal principal)
                     throws AuthorizationException
replace the inital principal with the new one.

Parameters:
principal - JGuardPrincipal updated
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#updatePrincipal(net.sf.jguard.principals.JGuardPrincipal)

getDomainsSet

java.util.Set getDomainsSet()
return an unmodifiable Domain Set.

Returns:

getPrincipalsSet

java.util.Set getPrincipalsSet()
return an unmodifiable Principal Set.

Returns:

getPermissionsSet

java.util.Set getPermissionsSet()
return an unmodifiable Permissions Set.

Returns:

isEmpty

boolean isEmpty()