Package quadbase.reportorganizer.ext
Interface UserSecurityProvider
public interface UserSecurityProvider
An UserSecurityProvider provides user security information to the EspressReport Enterprise
Server. The default UserSecurityProvider is the UserGroupDatabase. Using the administration page,
the administrator can change the UserSecurityProvider to use the LdapUserSecurityProvider or any
implementation that implements this interface.
-
Method Summary
Modifier and TypeMethodDescriptionvoidaddGroupUserRelation(String groupname, String username) Add a relationship between a Group and a User.voidcreateGroup(quadbase.reportorganizer.data.Group parentGroup, quadbase.reportorganizer.data.User[] childUsers, quadbase.reportorganizer.data.Group[] childGroups) Create a new Group.voidcreateUser(quadbase.reportorganizer.data.User user) Create a new user.voiddeleteGroup(String groupname) Delete a Group.voiddeleteUser(String username) Delete a User.String[]getGroupParents(String groupname) quadbase.reportorganizer.data.GroupRelation[]quadbase.reportorganizer.data.Group[]String[]getGroupsBySecurityLevel(int secLevel) quadbase.reportorganizer.data.GroupUserRelation[]String[]getUserParents(String username) quadbase.reportorganizer.data.User[]getUsers()String[]getUsersBySecurityLevel(int secLevel) voidresetSecurityLevel(int secLevel) Resets (set to -1) the security level number of all groups and users whose security level number is SECLEVEL.voidsetSecurityLevels(int secLevel, String[] name, boolean[] isGroup) Sets the security level(s) for a group or user of the specified name(s).voidupdateGroup(quadbase.reportorganizer.data.Group parentGroup, quadbase.reportorganizer.data.User[] childUsers, quadbase.reportorganizer.data.Group[] childGroups) Update a Group.voidupdateUser(quadbase.reportorganizer.data.User user) Update a User.
-
Method Details
-
getUsers
- Returns:
- all users as an User[].
- Throws:
Exception
-
getGroups
- Returns:
- all groups as a Group[].
- Throws:
Exception
-
getGroupRelations
- Returns:
- an array of GroupRelation objects representing all group-to-group relationships.
- Throws:
Exception
-
getGroupUserRelations
- Returns:
- an array of GroupUserRelation objects representing all group-to-user relationships.
- Throws:
Exception
-
getUserParents
- Parameters:
username- the child user name- Returns:
- an String[] parent group names
- Throws:
Exception
-
getGroupParents
- Parameters:
groupname- the child group name- Returns:
- an String[] parent group names
- Throws:
Exception
-
deleteUser
Delete a User.- Parameters:
username- the user name- Throws:
Exception
-
deleteGroup
Delete a Group.- Parameters:
groupname- the group name- Throws:
Exception
-
createUser
Create a new user.- Parameters:
user- the user to create- Throws:
Exception
-
createGroup
void createGroup(quadbase.reportorganizer.data.Group parentGroup, quadbase.reportorganizer.data.User[] childUsers, quadbase.reportorganizer.data.Group[] childGroups) throws Exception Create a new Group.- Parameters:
parentGroup- create this groupchildUsers- set the group to have these child userschildGroups- set the group to have these child groups- Throws:
Exception
-
updateUser
Update a User.- Parameters:
user- update this user- Throws:
Exception
-
updateGroup
void updateGroup(quadbase.reportorganizer.data.Group parentGroup, quadbase.reportorganizer.data.User[] childUsers, quadbase.reportorganizer.data.Group[] childGroups) throws Exception Update a Group. Should also remove all users/groups relation with the parentGroup for users/groups that are not in the childUsers and childGroups array.- Parameters:
parentGroup- update this groupchildUsers- set the group to have these child userschildGroups- set the group to have these child groups- Throws:
Exception
-
addGroupUserRelation
Add a relationship between a Group and a User.- Parameters:
groupname- group name of the parent groupusername- user name of the child user- Throws:
Exception
-
setSecurityLevels
Sets the security level(s) for a group or user of the specified name(s). Also sets the security level(s) for group or user that is not in NAME but with the same SECLEVEL to -1 (Can simply call resetSecurityLevel(secLevel) in the first line of this method to achieve this).- Parameters:
secLevel- the result security level numbername- an array of name(s) to changeisGroup- whether the name[i] is a group (isGroup[i]==true) or a user (isGroup[i]==false).- Throws:
Exception
-
resetSecurityLevel
Resets (set to -1) the security level number of all groups and users whose security level number is SECLEVEL.- Parameters:
secLevel- the security level number of the group/user- Throws:
Exception
-
getGroupsBySecurityLevel
- Parameters:
secLevel- the security level number of the group- Returns:
- the Group names of all groups with SECLEVEL
- Throws:
Exception
-
getUsersBySecurityLevel
- Parameters:
secLevel- the security level number of the user- Returns:
- the User names of all users with SECLEVEL
- Throws:
Exception
-