net.sourceforge.jfacets.acegi
Class InMemoryHierarchicalUDS
java.lang.Object
org.acegisecurity.userdetails.memory.InMemoryDaoImpl
net.sourceforge.jfacets.acegi.InMemoryHierarchicalUDS
- All Implemented Interfaces:
- IHierarchicalUserDetailsService, INavigableHierarchicalUserDetailsService, org.acegisecurity.userdetails.UserDetailsService, org.springframework.beans.factory.InitializingBean
public class InMemoryHierarchicalUDS
- extends org.acegisecurity.userdetails.memory.InMemoryDaoImpl
- implements INavigableHierarchicalUserDetailsService
Example of hierarchical roles using property files.
Extends Acegi's InMemoryDaoImpl and implements the
IHierarchicalUserDetailsService interface so that
composite roles can be handled by WebFacets.
Also, it makes use of HierarchicalUserDetails objects (see
method loadUserByUsername) so that ACLs also work with
hierarchical roles.
|
Method Summary |
private void |
addToParents(org.acegisecurity.GrantedAuthority child,
org.acegisecurity.GrantedAuthority parent)
|
void |
afterPropertiesSet()
|
org.acegisecurity.GrantedAuthority[] |
getChildRoles(org.acegisecurity.GrantedAuthority parentRole)
|
org.acegisecurity.GrantedAuthority |
getGrantedAuthority(java.lang.String roleName)
From IHierarchicalUserDetailsService. |
private org.acegisecurity.GrantedAuthority |
getOrCreate(java.lang.String name)
|
org.acegisecurity.GrantedAuthority[] |
getParentRoles(org.acegisecurity.GrantedAuthority grantedAuthority)
From IHierarchicalUserDetailsService. |
org.acegisecurity.GrantedAuthority[] |
getRootRoles()
|
org.acegisecurity.userdetails.UserDetails[] |
getUsersInRole(org.acegisecurity.GrantedAuthority role)
|
boolean |
isWrapUserDetails()
|
private void |
loadRoles()
|
org.acegisecurity.userdetails.UserDetails |
loadUserByUsername(java.lang.String username)
Overriden method that wraps UserDetails into
HierarchicalUserDetails, so that ACLs also
benefit of roles inheritance. |
private void |
loadUsers()
|
void |
setRoleProperties(java.util.Properties roleProperties)
|
void |
setUserProperties(java.util.Properties userProperties)
Overriden in order to store all users internally (in order
to implement getUsersInRole()). |
void |
setWrapUserDetails(boolean wrapUserDetails)
|
| Methods inherited from class org.acegisecurity.userdetails.memory.InMemoryDaoImpl |
getUserMap, setUserMap |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
private static final JFacetsLogger logger
roleProperties
private java.util.Properties roleProperties
wrapUserDetails
private boolean wrapUserDetails
roles
private java.util.HashMap<java.lang.String,org.acegisecurity.GrantedAuthority> roles
rolesAndParents
private java.util.HashMap<org.acegisecurity.GrantedAuthority,java.util.ArrayList<org.acegisecurity.GrantedAuthority>> rolesAndParents
userNamesAndDetails
private java.util.HashMap<java.lang.String,org.acegisecurity.userdetails.UserDetails> userNamesAndDetails
loadedRolesCount
private int loadedRolesCount
InMemoryHierarchicalUDS
public InMemoryHierarchicalUDS()
setRoleProperties
public void setRoleProperties(java.util.Properties roleProperties)
setUserProperties
public void setUserProperties(java.util.Properties userProperties)
- Overriden in order to store all users internally (in order
to implement getUsersInRole()).
- Overrides:
setUserProperties in class org.acegisecurity.userdetails.memory.InMemoryDaoImpl
afterPropertiesSet
public void afterPropertiesSet()
throws java.lang.Exception
- Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean- Overrides:
afterPropertiesSet in class org.acegisecurity.userdetails.memory.InMemoryDaoImpl
- Throws:
java.lang.Exception
loadRoles
private void loadRoles()
loadUsers
private void loadUsers()
getOrCreate
private org.acegisecurity.GrantedAuthority getOrCreate(java.lang.String name)
addToParents
private void addToParents(org.acegisecurity.GrantedAuthority child,
org.acegisecurity.GrantedAuthority parent)
getGrantedAuthority
public org.acegisecurity.GrantedAuthority getGrantedAuthority(java.lang.String roleName)
- From IHierarchicalUserDetailsService.
Return a G.A. for passed role name.
- Specified by:
getGrantedAuthority in interface IHierarchicalUserDetailsService
getParentRoles
public org.acegisecurity.GrantedAuthority[] getParentRoles(org.acegisecurity.GrantedAuthority grantedAuthority)
- From IHierarchicalUserDetailsService.
Return an array of parent G.A.s for
passed G.A. (reflects roles inheritance).
- Specified by:
getParentRoles in interface IHierarchicalUserDetailsService
loadUserByUsername
public org.acegisecurity.userdetails.UserDetails loadUserByUsername(java.lang.String username)
throws org.acegisecurity.userdetails.UsernameNotFoundException,
org.springframework.dao.DataAccessException
- Overriden method that wraps UserDetails into
HierarchicalUserDetails, so that ACLs also
benefit of roles inheritance.
- Specified by:
loadUserByUsername in interface org.acegisecurity.userdetails.UserDetailsService- Overrides:
loadUserByUsername in class org.acegisecurity.userdetails.memory.InMemoryDaoImpl
- Throws:
org.acegisecurity.userdetails.UsernameNotFoundException
org.springframework.dao.DataAccessException- See Also:
HierarchicalUserDetails
isWrapUserDetails
public boolean isWrapUserDetails()
setWrapUserDetails
public void setWrapUserDetails(boolean wrapUserDetails)
getRootRoles
public org.acegisecurity.GrantedAuthority[] getRootRoles()
- Specified by:
getRootRoles in interface INavigableHierarchicalUserDetailsService
getChildRoles
public org.acegisecurity.GrantedAuthority[] getChildRoles(org.acegisecurity.GrantedAuthority parentRole)
- Specified by:
getChildRoles in interface INavigableHierarchicalUserDetailsService
getUsersInRole
public org.acegisecurity.userdetails.UserDetails[] getUsersInRole(org.acegisecurity.GrantedAuthority role)
- Specified by:
getUsersInRole in interface INavigableHierarchicalUserDetailsService
Copyright © 2010. All Rights Reserved.