net.sf.jguard.authorization
Class XmlAuthorizationManager

java.lang.Object
  extended by net.sf.jguard.authorization.AbstractAuthorizationManager
      extended by net.sf.jguard.authorization.XmlAuthorizationManager
All Implemented Interfaces:
AuthorizationManager, PermissionProvider

public class XmlAuthorizationManager
extends AbstractAuthorizationManager
implements AuthorizationManager

AuthorizationManager implementation which enable Permission Management with an XML backend.

Author:
Charles Gay, Vinicius Pitta Lima de Araujo

Field Summary
 
Fields inherited from class net.sf.jguard.authorization.AbstractAuthorizationManager
applicationName, domains, domainsPermissions, domainsSet, hierarchyMap, options, permissions, permissionsSet, principals, principalsSet, urlp
 
Constructor Summary
XmlAuthorizationManager()
          constructor.
 
Method Summary
 void createDomain(java.lang.String domainName)
          create a new domain.
 void createPermission(java.security.Permission permission, java.lang.String domainName)
          create an URLPermission int the corresponding backend.
 void createPrincipal(java.security.Principal principal)
          create a new Role/principal
 void deleteDomain(java.lang.String domainName)
          delete domain
 void deletePermission(java.lang.String permissionName)
          remove the permission.
 void deletePrincipal(java.security.Principal principal)
          remove the corrspoding principal/role
 java.util.List getInitParameters()
          return needed initialization parameters.
 void init(java.util.Map options)
          initialize this XML AuthorizationManager.
 boolean isEmpty()
          return true if there is no principals and no permissions.
 void updateDomain(java.lang.String newName, java.lang.String oldName)
          update the specified Domain.
 void updatePermission(java.lang.String oldPermissionName, java.security.Permission permission, java.lang.String newDomainName)
          replace the inital permission with the new one.
 void updatePrincipal(java.lang.String oldPrincipalName, java.security.Principal principal)
          update a principal
 
Methods inherited from class net.sf.jguard.authorization.AbstractAuthorizationManager
addInheritance, addToPrincipal, addToPrincipal, assemblyHierarchy, clonePrincipal, clonePrincipal, deleteInheritance, deleteReferenceInHierarchy, getDomain, getDomains, getDomains, getDomainsPermissions, getDomainsSet, getHierarchyMap, getPermissionCollection, getPermissions, getPermissions, getPermissionsSet, getPrincipals, getPrincipalsSet, importAuthorizationManager, listDomains, listPermissions, listPrincipals, readDomain, readPermission, readPrincipal, refresh, removeDomainFromPrincipals, removePermissionFromPrincipals, setApplicationName, updatePrincipal, updatePrincipals, updatePrincipals, updatePrincipals
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sf.jguard.authorization.AuthorizationManager
addInheritance, addToPrincipal, addToPrincipal, clonePrincipal, clonePrincipal, deleteInheritance, getDomains, getDomainsSet, getPermissionCollection, getPermissions, getPermissionsSet, getPrincipalsSet, listDomains, listPermissions, listPrincipals, readDomain, readPermission, readPrincipal, refresh, updatePrincipal
 

Constructor Detail

XmlAuthorizationManager

public XmlAuthorizationManager()
constructor.

Method Detail

init

public void init(java.util.Map options)
initialize this XML AuthorizationManager.

Specified by:
init in interface AuthorizationManager
Specified by:
init in interface PermissionProvider
Specified by:
init in class AbstractAuthorizationManager
Parameters:
options -
See Also:
net.sf.jguard.authorization.AuthorizationManager#init(java.util.Properties)

getInitParameters

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

Specified by:
getInitParameters in interface AuthorizationManager
Returns:
parameters list.
See Also:
AuthorizationManager.getInitParameters()

createPermission

public void createPermission(java.security.Permission permission,
                             java.lang.String domainName)
                      throws AuthorizationException
create an URLPermission int the corresponding backend.

Specified by:
createPermission in interface AuthorizationManager
Parameters:
url - URLPermission
Throws:
AuthorizationException
See Also:
net.sf.jguard.authorization.AuthorizationManager#createPermission(java.security.Permission)

createDomain

public void createDomain(java.lang.String domainName)
                  throws AuthorizationException
create a new domain.

Specified by:
createDomain in interface AuthorizationManager
Parameters:
domainName -
Throws:
AuthorizationException
See Also:
net.sf.jguard.authorization.AuthorizationManager#createDomain(java.security.Permission)

updatePermission

public void updatePermission(java.lang.String oldPermissionName,
                             java.security.Permission permission,
                             java.lang.String newDomainName)
                      throws AuthorizationException
replace the inital permission with the new one.

Specified by:
updatePermission in interface AuthorizationManager
Parameters:
permissionName - old permission name
permission - URLPermission updated
newDomainName -
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#updatePermission(java.security.Permission)

deletePermission

public void deletePermission(java.lang.String permissionName)
                      throws AuthorizationException
remove the permission.

Specified by:
deletePermission in interface AuthorizationManager
Parameters:
permissionName -
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#deletePermission(java.lang.String)

deleteDomain

public void deleteDomain(java.lang.String domainName)
                  throws AuthorizationException
delete domain

Specified by:
deleteDomain in interface AuthorizationManager
Parameters:
domain - name to delete
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#deleteDomain(java.lang.String)

createPrincipal

public void createPrincipal(java.security.Principal principal)
                     throws AuthorizationException
create a new Role/principal

Specified by:
createPrincipal in interface AuthorizationManager
Specified by:
createPrincipal in class AbstractAuthorizationManager
Parameters:
principal - principal/role to create
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#createPrincipal(net.sf.jguard.principals.JGuardPrincipal)

deletePrincipal

public void deletePrincipal(java.security.Principal principal)
                     throws AuthorizationException
remove the corrspoding principal/role

Specified by:
deletePrincipal in interface AuthorizationManager
Specified by:
deletePrincipal in class AbstractAuthorizationManager
Parameters:
principal - name
Throws:
AuthorizationException
See Also:
net.sf.jguard.permissionmanagers.AuthorizationManager#deletePrincipal(java.lang.String)

updateDomain

public void updateDomain(java.lang.String newName,
                         java.lang.String oldName)
                  throws AuthorizationException
update the specified Domain.

Specified by:
updateDomain in interface AuthorizationManager
Parameters:
newName - new name for the corresponding Domain
oldName - old name for the corresponding Domain
Throws:
AuthorizationException
See Also:
AuthorizationManager.updateDomain(java.lang.String, java.lang.String)

updatePrincipal

public void updatePrincipal(java.lang.String oldPrincipalName,
                            java.security.Principal principal)
                     throws AuthorizationException
update a principal

Specified by:
updatePrincipal in interface AuthorizationManager
Parameters:
oldPrincipalName - name of the principal to be replaced
principal - new principal
Throws:
AuthorizationException
See Also:
net.sf.jguard.authorization.AuthorizationManager#updatePrincipal(java.lang.String, net.sf.jguard.principals.JGuardPrincipal)

isEmpty

public boolean isEmpty()
return true if there is no principals and no permissions. false otherwise.

Specified by:
isEmpty in interface AuthorizationManager
Returns: