Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## jet.server.api.rmi.admin
Interface RemoteSecurityAdminService

All Superinterfaces:
  java.rmi.Remote

    public interface RemoteSecurityAdminService

extends java.rmi.Remote

Interface `RemoteSecurityAdminService` provide methods to manage security resource in report server.

Method Summary
`java.lang.String` | `addGroup(java.lang.String realmName, java.lang.String groupName, java.lang.String description, java.lang.String submitter)` Add a new group into the realm.
`java.lang.String` | `addGroupIntoRole(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.lang.String roleName)` add a group to role as a memeber
`java.lang.String` | `addNewParentRolesToUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String roleName)` Add some new parent role to a user.
`java.lang.String` | `addPrivilegedGroups(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector groups)` add roles to have this privilege
`java.lang.String` | `addPrivilegedRoles(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector roles)` add roles to have this privilege
`java.lang.String` | `addPrivilegedUsers(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector users)` add users to have this privilege
`java.lang.String` | `addRealm(java.lang.String realmName, java.lang.String submitter, int scheme)` Add a new realm specified by realmName.
`java.lang.String` | `addRole(java.lang.String realmName, java.lang.String roleName, java.lang.String description, java.lang.String submitter)` Add a new role into the realm.
`java.lang.String` | `addSubGroupIntoGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String subGroupName, java.lang.String groupName)` add a group into a group as sub group
`java.lang.String` | `addSubRoleToRole(java.lang.String realmName, java.lang.String submitter, java.lang.String subRoleName, java.lang.String roleName)` Add a sub role to a role
`java.lang.String` | `addSubUserToRole(java.lang.String realmName, java.lang.String submitter, java.lang.String subUserName, java.lang.String roleName)` Add a sub user to a role
`java.lang.String` | `addUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String password, java.lang.String fullName, java.lang.String description, java.lang.String email, boolean passNeverExpire, int passExpireTime, boolean passPermitBlank, int passMinLength, boolean disabledAccount)` Add a new user into the realm.
`java.lang.String` | `addUserIntoGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String groupName)` Add a user into a group as sub user
`java.lang.String` | `addUserIntoRole(java.lang.String realmName, java.lang.String roleName, java.lang.String userName, java.lang.String submitter)` Add a user into a role.
`java.lang.String` | `changePassword(java.lang.String realmName, java.lang.String userName, java.lang.String subPwd, java.lang.String newPwd, java.lang.String submitter)` Change user password.
`java.lang.String` | `editLDAPUser(java.lang.String realmName, java.lang.String userName, java.lang.String fullName, java.lang.String description, java.lang.String email, java.lang.String submitter)` Edit the specified user.
`java.lang.String` | `editUser(java.lang.String realmName, java.lang.String userName, java.lang.String fullName, java.lang.String description, java.lang.String email, boolean passNeverExpire, int passExpireTime, boolean passPermitBlank, int passMinLength, boolean disabledAccount, java.lang.String submitter)` Edit the specified user.
`java.lang.String` | `getActiveRealm()` Get the active Realm in JReport server.
`java.util.Vector` | `getAllGroupNames(java.lang.String realmName)` Get all group name list in the realm.
`JGroup[]` | `getAllJGroups(java.lang.String realmName, java.lang.String submitter)` A JGroup array that contain all group in server
`JRole[]` | `getAllJRoles(java.lang.String realmName, java.lang.String submitter)` Get all role set in the realm.
`JUser[]` | `getAllJUser(java.lang.String realmName, java.lang.String submitter)` Get all users set in the realm.
`java.util.Vector` | `getAllRealmNames()` Get all realm name list in report server.
`java.util.Vector` | `getAllRoleNames(java.lang.String realmName, java.lang.String submitter)` Get all role name list in the realm.
`java.util.Vector` | `getAllUserNames(java.lang.String realmName)` Get all user name list in the realm.
`java.util.Vector` | `getAllUserNamesByRole(java.lang.String submitter, java.lang.String realmName, java.lang.String roleName)` Get all user name list in the role.
`java.lang.String` | `getCurRealm()` Get the current edit Realm in JReport server.
`int` | `getGroupMemberCount(java.lang.String realmName, java.lang.String groupName)` Get member count in a group.
`java.util.Vector` | `getGroupPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` get user's privileges
`JGroup` | `getJGroupByName(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Get a group specified by group name
`JGroup[]` | `getJGroupsByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Get sub groups from the role
`JGroup[]` | `getJGroupsByJUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` Get the groups which specifie user has
`JRole` | `getJRole(java.lang.String submitter, java.lang.String realmName, java.lang.String roleName)` Get a role specified by roleName.
`JRole[]` | `getJRolesByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Get parent roles' object from the group
`JUser` | `getJUser(java.lang.String submitter, java.lang.String realmName, java.lang.String userName)` Get a user
`JUser[]` | `getJUsersByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Get sub user object array from the parent group
`JRole[]` | `getParentJRolesByJUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` Get roles which specific user has
`java.util.Vector` | `getPrivilegedGroups(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` get all groups who have the privilege
`java.util.Vector` | `getPrivilegedRoles(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` get all roles who have the privilege
`java.util.Vector` | `getPrivilegedUsers(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` get all users who have the privilege
`java.util.Hashtable[]` | `getPrivileges(java.lang.String realmName, java.lang.String submitter)` Get defined privileges of users
`int` | `getRoleMemberCount(java.lang.String realmName, java.lang.String roleName)` Get member count in a role.
`java.util.Vector` | `getRolePrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` get user's privileges
`JGroup[]` | `getSubJGroupsByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Get sub groups from the parent group
`JRole[]` | `getSubJRolesByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Get the set of a role's sub roles.
`JUser[]` | `getSubJUsersByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Get the set of a role's sub users
`java.lang.String` | `getUserDescription(java.lang.String realmName, java.lang.String userName)` Get user's description.
`java.lang.String` | `getUserEmail(java.lang.String realmName, java.lang.String userName)` Get user's email address.
`java.lang.String` | `getUserFullname(java.lang.String realmName, java.lang.String userName)` Get user's full name.
`int` | `getUserParentGroupsCount(java.lang.String realmName, java.lang.String userName)` Get the count if a user's parent groups count
`int` | `getUserParentRolesCount(java.lang.String realmName, java.lang.String userName)` Get the count if a user's parent roles' count
`int` | `getUserPasswordExpireTime(java.lang.String realmName, java.lang.String userName)` Get user password expire time
`int` | `getUserPasswordMinLength(java.lang.String realmName, java.lang.String userName)` Get user password minimum length.
`java.util.Vector` | `getUserPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` get user's privileges
`boolean` | `isAdminUser(java.lang.String userName)` Check the user is adminisitrator or not
`boolean` | `isAuditFileAccessFail(java.lang.String realmName, java.lang.String userName)` Check if audit failing ACCESS event for the user.
`boolean` | `isAuditFileAccessSuccess(java.lang.String realmName, java.lang.String userName)` Check if audit successful ACCESS event for the user.
`boolean` | `isAuditManageFail(java.lang.String realmName, java.lang.String userName)` Check if audit failing MANAGE event for the user.
`boolean` | `isAuditManageSuccess(java.lang.String realmName, java.lang.String userName)` Check if audit successful MANAGE event for the user.
`boolean` | `isEditing(java.lang.String realm, int action)` Check the action is can be edit
`boolean` | `isJGroupInJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.lang.String parentName)` Indicates whether the group should be in a parent group
`boolean` | `isJGroupInJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.lang.String roleName)` Indicates whether the group should be in a role
`boolean` | `isJRoleInJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName, java.lang.String parentName)` Indicates whether the role should be in a parent role
`boolean` | `isJUserInJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String groupName)` Indicates whether the user should be in a group
`boolean` | `isJUserInJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String roleName)` Indicates whether the user should be in a role
`boolean` | `isNoAudit(java.lang.String realmName, java.lang.String userName)` Check if does not audit any ACCESS or MANAGE event for the user.
`boolean` | `isUserAccountDisable(java.lang.String realmName, java.lang.String userName)` Check whether user account is disabled.
`boolean` | `isUserPasswordNeverExpire(java.lang.String realmName, java.lang.String userName)` Check if user password is never expire.
`boolean` | `isUserPasswordPermitBlank(java.lang.String realmName, java.lang.String userName)` Check if user password permit blank.
`java.lang.String` | `removeGroup(java.lang.String realmName, java.lang.String groupName, java.lang.String submitter)` Remove a group from the realm.
`java.lang.String` | `removeGroupFromRole(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.lang.String roleName)` remove a group from the role
`java.lang.String` | `removeParentRolesFromUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String roleName)` Remove a parent role from a user
`java.lang.String` | `removePrivilegedGroups(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector groups)` remove groups from groups who have the privilege
`java.lang.String` | `removePrivilegedRoles(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector roles)` remove roles from roles who have the privilege
`java.lang.String` | `removePrivilegedUsers(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector users)` remove users from users who have the privilege
`java.lang.String` | `removeRealm(java.lang.String realmName, java.lang.String submitter)` Remove a realm spcified by realmName.
`java.lang.String` | `removeRole(java.lang.String realmName, java.lang.String roleName, java.lang.String submitter)` Remove a role from the realm.
`java.lang.String` | `removeRoleFromParentRole(java.lang.String submitter, java.lang.String realmName, java.lang.String roleName, java.lang.String parentRoleName)` Remove a role from a parent role
`java.lang.String` | `removeSubGroupFromGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String subGroupName, java.lang.String groupName)` remove a sub group from the group
`java.lang.String` | `removeUser(java.lang.String realmName, java.lang.String userName, java.lang.String submitter)` Remove a user from the realm.
`java.lang.String` | `removeUserFromGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String groupName)` remove a user from the group
`java.lang.String` | `removeUserFromParentRole(java.lang.String submitter, java.lang.String realmName, java.lang.String userName, java.lang.String parentRoleName)` Remove a user from a parent role
`java.lang.String` | `setAuditFileAccessFail(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Set whether audit failing ACCESS actions for the user.
`java.lang.String` | `setAuditFileAccessSuccess(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Set whether audit successful ACCESS actions for the user.
`java.lang.String` | `setAuditManageFail(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Set whether audit failing MANAGE actions for the user.
`java.lang.String` | `setAuditManageSuccess(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Set whether audit successful MANAGE actions for the user.
`void` | `setCurRealm(java.lang.String realm)` Set the current edit Realm in JReport server.
`java.lang.String` | `setGroupPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.util.Vector privileges)` set privileges for group
`java.lang.String` | `setNoAudit(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Set whether no event to be audited for the user.
`void` | `setPrivileges(java.lang.String realmName, java.lang.String submitter, java.util.Hashtable[] privileges)` Set privileges of users
`java.lang.String` | `setRolePrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName, java.util.Vector privileges)` set privileges for role
`java.lang.String` | `setUserPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.util.Vector privileges)` set privileges for user

Method Detail

### getCurRealm

    java.lang.String getCurRealm()
                                 throws java.rmi.RemoteException

  Get the current edit Realm in JReport server.

  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.

### setCurRealm

    void setCurRealm(java.lang.String realm)
                     throws java.rmi.RemoteException

  Set the current edit Realm in JReport server.

  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getActiveRealm

    java.lang.String getActiveRealm()
                                    throws java.rmi.RemoteException

  Get the active Realm in JReport server.

  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getAllRealmNames

    java.util.Vector getAllRealmNames()
                                      throws java.rmi.RemoteException

  Get all realm name list in report server.

  Returns:
    the vector represent all realm name list.
  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### addRealm

    java.lang.String addRealm(java.lang.String realmName,
                              java.lang.String submitter,
                              int scheme)
                              throws NoSuchRealmException,
                                     BadRealmException,
                                     NoSuchAclException,
                                     java.security.acl.NotOwnerException,
                                     NoSuchUserException,
                                     InUseException,
                                     java.rmi.RemoteException

  Add a new realm specified by realmName.

  Parameters:
    `realmName` - new realm name
    `submitter` - the user who request this action.
    `scheme` - Realm authentication scheme, 0: basic authentication,1: degist authentication
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchAclException` - if acl does not exist.
    `java.security.acl.NotOwnerException` - if the Principal attempting the modification is not an owner.
    `NoSuchUserException` - if user does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### removeRealm

    java.lang.String removeRealm(java.lang.String realmName,
                                 java.lang.String submitter)
                                 throws java.rmi.RemoteException

  Remove a realm spcified by realmName.

  Parameters:
    `realmName` - new realm name
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs, or null if success.
  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### addGroup

    java.lang.String addGroup(java.lang.String realmName,
                              java.lang.String groupName,
                              java.lang.String description,
                              java.lang.String submitter)
                              throws NoSuchRealmException,
                                     BadRealmException,
                                     NoSuchGroupException,
                                     InUseException,
                                     java.io.IOException,
                                     java.rmi.RemoteException

  Add a new group into the realm.

  Parameters:
    `realmName` - the realm name
    `groupName` - the new group name
    `description` - the new group description
    `submitter` - the user who request this action
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server V7.1

### removeGroup

    java.lang.String removeGroup(java.lang.String realmName,
                                 java.lang.String groupName,
                                 java.lang.String submitter)
                                 throws NoSuchRealmException,
                                        BadRealmException,
                                        NoSuchGroupException,
                                        InUseException,
                                        java.rmi.RemoteException

  Remove a group from the realm.

  Parameters:
    `realmName` - the realm name.
    `groupName` - the new group name.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server V7.1

### getAllJGroups

    JGroup[] getAllJGroups(java.lang.String realmName,
                           java.lang.String submitter)
                           throws NoSuchRealmException,
                                  BadRealmException,
                                  java.rmi.RemoteException

  A JGroup array that contain all group in server

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
  Returns:
    the array represent all group list.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V8
  See Also:
    `JGroup`

### getAllGroupNames

    java.util.Vector getAllGroupNames(java.lang.String realmName)
                                      throws NoSuchRealmException,
                                             BadRealmException,
                                             java.rmi.RemoteException

  Get all group name list in the realm.

  Parameters:
    `realmName` - the realm name.
  Returns:
    the vector represent all group name list.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server V7.1

### getJGroupByName

    JGroup getJGroupByName(java.lang.String realmName,
                           java.lang.String submitter,
                           java.lang.String groupName)
                           throws NoSuchRealmException,
                                  BadRealmException,
                                  NoSuchGroupException,
                                  java.rmi.RemoteException

  Get a group specified by group name

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
  Returns:
    a Group that request.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server V8
  See Also:
    `JGroup`

### getGroupMemberCount

    int getGroupMemberCount(java.lang.String realmName,
                            java.lang.String groupName)
                            throws NoSuchRealmException,
                                   BadRealmException,
                                   NoSuchGroupException,
                                   java.rmi.RemoteException

  Get member count in a group.

  Parameters:
    `realmName` - the realm name.
    `groupName` - the group name.
  Returns:
    the member count in specified group.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server 7.1

### addUserIntoGroup

    java.lang.String addUserIntoGroup(java.lang.String realmName,
                                      java.lang.String submitter,
                                      java.lang.String userName,
                                      java.lang.String groupName)
                                      throws NoSuchRealmException,
                                             BadRealmException,
                                             NoSuchGroupException,
                                             NoSuchUserException,
                                             java.rmi.RemoteException

  Add a user into a group as sub user

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### addSubGroupIntoGroup

    java.lang.String addSubGroupIntoGroup(java.lang.String realmName,
                                          java.lang.String submitter,
                                          java.lang.String subGroupName,
                                          java.lang.String groupName)
                                          throws NoSuchRealmException,
                                                 BadRealmException,
                                                 NoSuchGroupException,
                                                 java.rmi.RemoteException

  add a group into a group as sub group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `subGroupName` - the sub group name
    `groupName` - the group name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### addGroupIntoRole

    java.lang.String addGroupIntoRole(java.lang.String realmName,
                                      java.lang.String submitter,
                                      java.lang.String groupName,
                                      java.lang.String roleName)
                                      throws NoSuchRealmException,
                                             BadRealmException,
                                             NoSuchGroupException,
                                             NoSuchRoleException,
                                             java.rmi.RemoteException

  add a group to role as a memeber

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### removeUserFromGroup

    java.lang.String removeUserFromGroup(java.lang.String realmName,
                                         java.lang.String submitter,
                                         java.lang.String userName,
                                         java.lang.String groupName)
                                         throws NoSuchRealmException,
                                                BadRealmException,
                                                NoSuchGroupException,
                                                NoSuchUserException,
                                                java.rmi.RemoteException

  remove a user from the group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### removeSubGroupFromGroup

    java.lang.String removeSubGroupFromGroup(java.lang.String realmName,
                                             java.lang.String submitter,
                                             java.lang.String subGroupName,
                                             java.lang.String groupName)
                                             throws NoSuchRealmException,
                                                    BadRealmException,
                                                    NoSuchGroupException,
                                                    java.rmi.RemoteException

  remove a sub group from the group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `subGroupName` - the sub group name
    `groupName` - the group name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### removeGroupFromRole

    java.lang.String removeGroupFromRole(java.lang.String realmName,
                                         java.lang.String submitter,
                                         java.lang.String groupName,
                                         java.lang.String roleName)
                                         throws NoSuchRealmException,
                                                BadRealmException,
                                                NoSuchGroupException,
                                                NoSuchRoleException,
                                                java.rmi.RemoteException

  remove a group from the role

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV7.1

### getSubJGroupsByJGroup

    JGroup[] getSubJGroupsByJGroup(java.lang.String realmName,
                                   java.lang.String submitter,
                                   java.lang.String groupName)
                                   throws NoSuchGroupException,
                                          NoSuchRealmException,
                                          BadRealmException,
                                          java.rmi.RemoteException

  Get sub groups from the parent group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
  Returns:
    a Vector save the sub groups' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV8
  See Also:
    `JGroup`

### getJUsersByJGroup

    JUser[] getJUsersByJGroup(java.lang.String realmName,
                              java.lang.String submitter,
                              java.lang.String groupName)
                              throws NoSuchGroupException,
                                     NoSuchRealmException,
                                     BadRealmException,
                                     java.rmi.RemoteException

  Get sub user object array from the parent group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
  Returns:
    a Vector save the sub users' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV8
  See Also:
    `JUser`

### getJRolesByJGroup

    JRole[] getJRolesByJGroup(java.lang.String realmName,
                              java.lang.String submitter,
                              java.lang.String groupName)
                              throws NoSuchGroupException,
                                     NoSuchRealmException,
                                     BadRealmException,
                                     java.rmi.RemoteException

  Get parent roles' object from the group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
  Returns:
    a Vector save the parent roles' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV8
  See Also:
    `JRole`

### getJGroupsByJRole

    JGroup[] getJGroupsByJRole(java.lang.String realmName,
                               java.lang.String submitter,
                               java.lang.String roleName)
                               throws NoSuchRoleException,
                                      NoSuchRealmException,
                                      BadRealmException,
                                      java.rmi.RemoteException

  Get sub groups from the role

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `roleName` - the role name
  Returns:
    a Vector save the sub groups' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    ServerV8
  See Also:
    `JRole`

### getJUser

    JUser getJUser(java.lang.String submitter,
                   java.lang.String realmName,
                   java.lang.String userName)
                   throws NoSuchUserException,
                          NoSuchRealmException,
                          java.rmi.RemoteException

  Get a user

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name
  Returns:
    a `User` object
  Throws:
    `NoSuchUserException` - if there is no specific user in security manager.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `NoSuchRealmException`
  Since:
    V8
  See Also:
    `JUser`

### addUser

    java.lang.String addUser(java.lang.String realmName,
                             java.lang.String submitter,
                             java.lang.String userName,
                             java.lang.String password,
                             java.lang.String fullName,
                             java.lang.String description,
                             java.lang.String email,
                             boolean passNeverExpire,
                             int passExpireTime,
                             boolean passPermitBlank,
                             int passMinLength,
                             boolean disabledAccount)
                             throws NoSuchRealmException,
                                    UserExistsException,
                                    java.rmi.RemoteException

  Add a new user into the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
    `userName` - the user name.
    `password` - the new user password.
    `fullName` - the new user full name.
    `description` - the new user description.
    `email` - the new user email.
    `passNeverExpire` - whether the password can be expired, true if password is not expired.
    `passExpireTime` - if passNeverExpire is false, represent after how long time password will be expired .
    `passPermitBlank` - whether the password can be blank, true if blank is permited.
    `passMinLength` - if password can not be blank, represent the password's minimum length.
    `disabledAccount` - whether this user account can be used.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `UserExistsException` - if user specified by userName exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### removeUser

    java.lang.String removeUser(java.lang.String realmName,
                                java.lang.String userName,
                                java.lang.String submitter)
                                throws NoSuchRealmException,
                                       BadRealmException,
                                       NoSuchUserException,
                                       InUseException,
                                       java.rmi.RemoteException

  Remove a user from the realm.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### getUserFullname

    java.lang.String getUserFullname(java.lang.String realmName,
                                     java.lang.String userName)
                                     throws NoSuchRealmException,
                                            BadRealmException,
                                            NoSuchUserException,
                                            java.rmi.RemoteException

  Get user's full name.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getUserDescription

    java.lang.String getUserDescription(java.lang.String realmName,
                                        java.lang.String userName)
                                        throws NoSuchRealmException,
                                               BadRealmException,
                                               NoSuchUserException,
                                               java.rmi.RemoteException

  Get user's description.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getUserEmail

    java.lang.String getUserEmail(java.lang.String realmName,
                                  java.lang.String userName)
                                  throws NoSuchRealmException,
                                         BadRealmException,
                                         NoSuchUserException,
                                         java.rmi.RemoteException

  Get user's email address.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### isUserAccountDisable

    boolean isUserAccountDisable(java.lang.String realmName,
                                 java.lang.String userName)
                                 throws NoSuchRealmException,
                                        BadRealmException,
                                        NoSuchUserException,
                                        java.rmi.RemoteException

  Check whether user account is disabled.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### isUserPasswordNeverExpire

    boolean isUserPasswordNeverExpire(java.lang.String realmName,
                                      java.lang.String userName)
                                      throws NoSuchRealmException,
                                             BadRealmException,
                                             NoSuchUserException,
                                             java.rmi.RemoteException

  Check if user password is never expire.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getUserPasswordExpireTime

    int getUserPasswordExpireTime(java.lang.String realmName,
                                  java.lang.String userName)
                                  throws NoSuchRealmException,
                                         BadRealmException,
                                         NoSuchUserException,
                                         java.rmi.RemoteException

  Get user password expire time

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### isUserPasswordPermitBlank

    boolean isUserPasswordPermitBlank(java.lang.String realmName,
                                      java.lang.String userName)
                                      throws NoSuchRealmException,
                                             BadRealmException,
                                             NoSuchUserException,
                                             java.rmi.RemoteException

  Check if user password permit blank.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getUserPasswordMinLength

    int getUserPasswordMinLength(java.lang.String realmName,
                                 java.lang.String userName)
                                 throws NoSuchRealmException,
                                        BadRealmException,
                                        NoSuchUserException,
                                        java.rmi.RemoteException

  Get user password minimum length.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    user's full name.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### changePassword

    java.lang.String changePassword(java.lang.String realmName,
                                    java.lang.String userName,
                                    java.lang.String subPwd,
                                    java.lang.String newPwd,
                                    java.lang.String submitter)
                                    throws NoSuchRealmException,
                                           BadRealmException,
                                           NoSuchUserException,
                                           java.rmi.RemoteException

  Change user password.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `subPwd` - submitter's password
    `newPwd` - new password
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### editLDAPUser

    java.lang.String editLDAPUser(java.lang.String realmName,
                                  java.lang.String userName,
                                  java.lang.String fullName,
                                  java.lang.String description,
                                  java.lang.String email,
                                  java.lang.String submitter)
                                  throws NoSuchRealmException,
                                         BadRealmException,
                                         NoSuchUserException,
                                         InUseException,
                                         java.io.IOException,
                                         java.rmi.RemoteException

  Edit the specified user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `fullName` - the new user full name.
    `description` - the new user description.
    `email` - the new user email.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### editUser

    java.lang.String editUser(java.lang.String realmName,
                              java.lang.String userName,
                              java.lang.String fullName,
                              java.lang.String description,
                              java.lang.String email,
                              boolean passNeverExpire,
                              int passExpireTime,
                              boolean passPermitBlank,
                              int passMinLength,
                              boolean disabledAccount,
                              java.lang.String submitter)
                              throws NoSuchRealmException,
                                     BadRealmException,
                                     NoSuchUserException,
                                     InUseException,
                                     java.io.IOException,
                                     java.rmi.RemoteException

  Edit the specified user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `fullName` - the new user full name.
    `description` - the new user description.
    `email` - the new user email.
    `passNeverExpire` - whether the password can be expired, true if password is not expired.
    `passExpireTime` - if passNeverExpire is false, represent after how long time password will be expired .
    `passPermitBlank` - whether the password can be blank, true if blank is permited.
    `passMinLength` - if password can not be blank, represent the password's minimum length.
    `disabledAccount` - whether this user account can be used.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `InUseException` - if attempting to delete an object, such as a user or group, which is in use as part of the realm's security policy.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### getAllUserNames

    java.util.Vector getAllUserNames(java.lang.String realmName)
                                     throws NoSuchRealmException,
                                            BadRealmException,
                                            java.rmi.RemoteException

  Get all user name list in the realm.

  Parameters:
    `realmName` - the realm name.
  Returns:
    the vector represent all user name list in the realm.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### getAllJUser

    JUser[] getAllJUser(java.lang.String realmName,
                        java.lang.String submitter)
                        throws NoSuchRealmException,
                               BadRealmException,
                               java.rmi.RemoteException

  Get all users set in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
  Returns:
    the array represent all user name list in the realm.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V8
  See Also:
    `JUser`

### getAllUserNamesByRole

    java.util.Vector getAllUserNamesByRole(java.lang.String submitter,
                                           java.lang.String realmName,
                                           java.lang.String roleName)
                                           throws NoSuchRealmException,
                                                  BadRealmException,
                                                  NoSuchRoleException,
                                                  java.rmi.RemoteException

  Get all user name list in the role.

  Parameters:
    `submitter` - the user who request this action.
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    the vector represent all user name list in the realm.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getParentJRolesByJUser

    JRole[] getParentJRolesByJUser(java.lang.String realmName,
                                   java.lang.String submitter,
                                   java.lang.String userName)
                                   throws NoSuchUserException,
                                          NoSuchRealmException,
                                          java.rmi.RemoteException

  Get roles which specific user has

  Parameters:
    `realmName` - the realm name.
    `submitter` - user id who sends this request
    `userName` - the user name
  Returns:
    a `Vector` object contains role names which specific user has, or null if submitter has not permission for get roles by this user.
  Throws:
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `NoSuchRealmException`
  Since:
    V8
  See Also:
    `JRole`

### getJGroupsByJUser

    JGroup[] getJGroupsByJUser(java.lang.String realmName,
                               java.lang.String submitter,
                               java.lang.String userName)
                               throws NoSuchUserException,
                                      NoSuchRealmException,
                                      java.rmi.RemoteException

  Get the groups which specifie user has

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `userName` - the user name
  Returns:
    a `Vector` object contains group names which specific user has, or null if submitter has not permission for get groups by this user.
  Throws:
    `NoSuchUserException` - if the user does not exist
    `NoSuchRealmException` - if the realm does not exist
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server V8
  See Also:
    `JGroup`

### addNewParentRolesToUser

    java.lang.String addNewParentRolesToUser(java.lang.String realmName,
                                             java.lang.String submitter,
                                             java.lang.String userName,
                                             java.lang.String roleName)
                                             throws NoSuchRoleException,
                                                    NoSuchUserException,
                                                    NoSuchRealmException,
                                                    java.rmi.RemoteException

  Add some new parent role to a user.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `userName` - the name of user that will be added some new parent role
    `roleName` - the new parent role's name.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### addUserIntoRole

    java.lang.String addUserIntoRole(java.lang.String realmName,
                                     java.lang.String roleName,
                                     java.lang.String userName,
                                     java.lang.String submitter)
                                     throws NoSuchRealmException,
                                            BadRealmException,
                                            NoSuchUserException,
                                            NoSuchRoleException,
                                            java.rmi.RemoteException

  Add a user into a role.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the group name that add member into.
    `userName` - the user name.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getUserParentRolesCount

    int getUserParentRolesCount(java.lang.String realmName,
                                java.lang.String userName)
                                throws NoSuchUserException,
                                       java.rmi.RemoteException

  Get the count if a user's parent roles' count

  Parameters:
    `realmName` - the realm name.
    `userName` - the user's name
  Returns:
    the count of parent roles, if have errors happening, it will return -1
  Throws:
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getUserParentGroupsCount

    int getUserParentGroupsCount(java.lang.String realmName,
                                 java.lang.String userName)
                                 throws NoSuchRealmException,
                                        NoSuchUserException,
                                        java.rmi.RemoteException

  Get the count if a user's parent groups count

  Parameters:
    `realmName` - the realm name
    `userName` - the user's name
  Returns:
    the count of parent groups
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    server 7.1

### removeParentRolesFromUser

    java.lang.String removeParentRolesFromUser(java.lang.String realmName,
                                               java.lang.String submitter,
                                               java.lang.String userName,
                                               java.lang.String roleName)
                                               throws NoSuchUserException,
                                                      NoSuchRoleException,
                                                      NoSuchRealmException,
                                                      java.rmi.RemoteException

  Remove a parent role from a user

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
    `userName` - the name of user that will be deleted a parent role
    `roleName` - the new parent role's name.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6.

### setNoAudit

    java.lang.String setNoAudit(java.lang.String realmName,
                                java.lang.String userName,
                                boolean b,
                                java.lang.String submitter)
                                throws NoSuchRealmException,
                                       BadRealmException,
                                       NoSuchUserException,
                                       java.io.IOException,
                                       java.rmi.RemoteException

  Set whether no event to be audited for the user. These audit settings can point out whether report server logs users' MANAGE and/or ACCESS actions. If those settings are disabled (say, set to false), the actions of that user will not be logged. The audit setting takes effect when the log level in the report server's configuration is turned on. If the log level is none, then the settings will be ignored.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether logs this user's MANAGE and ACCESS actions.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### setAuditFileAccessSuccess

    java.lang.String setAuditFileAccessSuccess(java.lang.String realmName,
                                               java.lang.String userName,
                                               boolean b,
                                               java.lang.String submitter)
                                               throws NoSuchRealmException,
                                                      BadRealmException,
                                                      NoSuchUserException,
                                                      java.io.IOException,
                                                      java.rmi.RemoteException

  Set whether audit successful ACCESS actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether logs this user's successful ACCESS actions.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### setAuditFileAccessFail

    java.lang.String setAuditFileAccessFail(java.lang.String realmName,
                                            java.lang.String userName,
                                            boolean b,
                                            java.lang.String submitter)
                                            throws NoSuchRealmException,
                                                   BadRealmException,
                                                   NoSuchUserException,
                                                   java.io.IOException,
                                                   java.rmi.RemoteException

  Set whether audit failing ACCESS actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether logs this user's failing ACCESS actions.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### setAuditManageSuccess

    java.lang.String setAuditManageSuccess(java.lang.String realmName,
                                           java.lang.String userName,
                                           boolean b,
                                           java.lang.String submitter)
                                           throws NoSuchRealmException,
                                                  BadRealmException,
                                                  NoSuchUserException,
                                                  java.io.IOException,
                                                  java.rmi.RemoteException

  Set whether audit successful MANAGE actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether logs this user's MANAGE actions.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### setAuditManageFail

    java.lang.String setAuditManageFail(java.lang.String realmName,
                                        java.lang.String userName,
                                        boolean b,
                                        java.lang.String submitter)
                                        throws NoSuchRealmException,
                                               BadRealmException,
                                               NoSuchUserException,
                                               java.io.IOException,
                                               java.rmi.RemoteException

  Set whether audit failing MANAGE actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether logs this user's failing MANAGE actions.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.io.IOException` - if error occurs when try to save data.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### isNoAudit

    boolean isNoAudit(java.lang.String realmName,
                      java.lang.String userName)
                      throws NoSuchRealmException,
                             BadRealmException,
                             NoSuchUserException,
                             java.rmi.RemoteException

  Check if does not audit any ACCESS or MANAGE event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if does not audit any event, otherwise false.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### isAuditFileAccessSuccess

    boolean isAuditFileAccessSuccess(java.lang.String realmName,
                                     java.lang.String userName)
                                     throws NoSuchRealmException,
                                            BadRealmException,
                                            NoSuchUserException,
                                            java.rmi.RemoteException

  Check if audit successful ACCESS event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if need audit successful ACCESS event, otherwise false.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### isAuditFileAccessFail

    boolean isAuditFileAccessFail(java.lang.String realmName,
                                  java.lang.String userName)
                                  throws NoSuchRealmException,
                                         BadRealmException,
                                         NoSuchUserException,
                                         java.rmi.RemoteException

  Check if audit failing ACCESS event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if need audit failing ACCESS event, otherwise false.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### isAuditManageSuccess

    boolean isAuditManageSuccess(java.lang.String realmName,
                                 java.lang.String userName)
                                 throws NoSuchRealmException,
                                        BadRealmException,
                                        NoSuchUserException,
                                        java.rmi.RemoteException

  Check if audit successful MANAGE event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if need audit successful MANAGE event, otherwise false.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### isAuditManageFail

    boolean isAuditManageFail(java.lang.String realmName,
                              java.lang.String userName)
                              throws NoSuchRealmException,
                                     BadRealmException,
                                     NoSuchUserException,
                                     java.rmi.RemoteException

  Check if audit failing MANAGE event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if need audit failing MANAGE event, otherwise false.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:

### addRole

    java.lang.String addRole(java.lang.String realmName,
                             java.lang.String roleName,
                             java.lang.String description,
                             java.lang.String submitter)
                             throws NoSuchRealmException,
                                    BadRealmException,
                                    RoleExistsException,
                                    java.rmi.RemoteException

  Add a new role into the realm.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the new role name.
    `description` - the new role description.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `RoleExistsException` - if role exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V7.0

### removeRole

    java.lang.String removeRole(java.lang.String realmName,
                                java.lang.String roleName,
                                java.lang.String submitter)
                                throws NoSuchRealmException,
                                       BadRealmException,
                                       NoSuchRoleException,
                                       java.rmi.RemoteException

  Remove a role from the realm.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the new role name.
    `submitter` - the user who request this action.
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getAllJRoles

    JRole[] getAllJRoles(java.lang.String realmName,
                         java.lang.String submitter)
                         throws NoSuchRealmException,
                                BadRealmException,
                                java.rmi.RemoteException

  Get all role set in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
  Returns:
    the enumeration represent all role list.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V8
  See Also:
    `JRole`

### getAllRoleNames

    java.util.Vector getAllRoleNames(java.lang.String realmName,
                                     java.lang.String submitter)
                                     throws NoSuchRealmException,
                                            BadRealmException,
                                            java.rmi.RemoteException

  Get all role name list in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who request this action.
  Returns:
    the vector represent all group name list.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getJRole

    JRole getJRole(java.lang.String submitter,
                   java.lang.String realmName,
                   java.lang.String roleName)
                   throws NoSuchRealmException,
                          BadRealmException,
                          NoSuchRoleException,
                          java.rmi.RemoteException

  Get a role specified by roleName.

  Parameters:
    `submitter` - the user who request this action.
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    a role that request.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V8
  See Also:
    `JRole`

### getRoleMemberCount

    int getRoleMemberCount(java.lang.String realmName,
                           java.lang.String roleName)
                           throws NoSuchRealmException,
                                  BadRealmException,
                                  NoSuchRoleException,
                                  java.rmi.RemoteException

  Get member count in a role.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    the member count in specified role.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### getSubJRolesByJRole

    JRole[] getSubJRolesByJRole(java.lang.String realmName,
                                java.lang.String submitter,
                                java.lang.String roleName)
                                throws NoSuchRoleException,
                                       NoSuchRealmException,
                                       BadRealmException,
                                       java.rmi.RemoteException

  Get the set of a role's sub roles.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `roleName` - the role's name
  Returns:
    the sub roles' set
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V8
  See Also:
    `JRole`

### getSubJUsersByJRole

    JUser[] getSubJUsersByJRole(java.lang.String realmName,
                                java.lang.String submitter,
                                java.lang.String roleName)
                                throws NoSuchRoleException,
                                       NoSuchRealmException,
                                       BadRealmException,
                                       java.rmi.RemoteException

  Get the set of a role's sub users

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `roleName` - the role's name
  Returns:
    the sub users' set
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V8
  See Also:
    `JUser`

### removeRoleFromParentRole

    java.lang.String removeRoleFromParentRole(java.lang.String submitter,
                                              java.lang.String realmName,
                                              java.lang.String roleName,
                                              java.lang.String parentRoleName)
                                              throws NoSuchRoleException,
                                                     NoSuchRealmException,
                                                     BadRealmException,
                                                     java.rmi.RemoteException

  Remove a role from a parent role

  Parameters:
    `submitter` - the submitter's name
    `realmName` - the realm name.
    `roleName` - the name of role that will be remove from a parent role.
    `parentRoleName` - the parent role's name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### removeUserFromParentRole

    java.lang.String removeUserFromParentRole(java.lang.String submitter,
                                              java.lang.String realmName,
                                              java.lang.String userName,
                                              java.lang.String parentRoleName)
                                              throws NoSuchRoleException,
                                                     NoSuchUserException,
                                                     NoSuchRealmException,
                                                     BadRealmException,
                                                     java.rmi.RemoteException

  Remove a user from a parent role

  Parameters:
    `submitter` - the submitter's name
    `realmName` - the realm name.
    `userName` - the name of user that will be remove from a parent role.
    `parentRoleName` - the parent role's name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `NoSuchUserException` - if user does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### addSubUserToRole

    java.lang.String addSubUserToRole(java.lang.String realmName,
                                      java.lang.String submitter,
                                      java.lang.String subUserName,
                                      java.lang.String roleName)
                                      throws NoSuchRoleException,
                                             NoSuchUserException,
                                             NoSuchRealmException,
                                             BadRealmException,
                                             java.rmi.RemoteException

  Add a sub user to a role

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `subUserName` - the sub user's name
    `roleName` - the role's name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### addSubRoleToRole

    java.lang.String addSubRoleToRole(java.lang.String realmName,
                                      java.lang.String submitter,
                                      java.lang.String subRoleName,
                                      java.lang.String roleName)
                                      throws NoSuchRoleException,
                                             NoSuchRealmException,
                                             BadRealmException,
                                             java.rmi.RemoteException

  Add a sub role to a role

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `subRoleName` - the sub role's name
    `roleName` - the role's name
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    V6

### isAdminUser

    boolean isAdminUser(java.lang.String userName)
                        throws java.rmi.RemoteException

  Check the user is adminisitrator or not

  Parameters:
    `userName` - the user's name
  Returns:
    if the user is administrator return true, otherwise return false
  Throws:
    `java.rmi.RemoteException` - will be thrown if error occurs.

### setUserPrivileges

    java.lang.String setUserPrivileges(java.lang.String realmName,
                                       java.lang.String submitter,
                                       java.lang.String userName,
                                       java.util.Vector privileges)
                                       throws NoSuchUserException,
                                              NoSuchRealmException,
                                              java.rmi.RemoteException

  set privileges for user

  Parameters:
    `realmName` - the realm name
    `submitter` - the submitter name
    `userName` - the user's name
    `privileges` - a Vector save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### setRolePrivileges

    java.lang.String setRolePrivileges(java.lang.String realmName,
                                       java.lang.String submitter,
                                       java.lang.String roleName,
                                       java.util.Vector privileges)
                                       throws NoSuchRoleException,
                                              NoSuchRealmException,
                                              BadRealmException,
                                              java.rmi.RemoteException

  set privileges for role

  Parameters:
    `realmName` - the realm'a name
    `submitter` - the submitter's name
    `roleName` - roleName the user name
    `privileges` - a Vector save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### setGroupPrivileges

    java.lang.String setGroupPrivileges(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String groupName,
                                        java.util.Vector privileges)
                                        throws NoSuchGroupException,
                                               NoSuchRealmException,
                                               BadRealmException,
                                               java.rmi.RemoteException

  set privileges for group

  Parameters:
    `realmName` - the realm'a name
    `submitter` - the submitter's name
    `groupName` - groupName the group name
    `privileges` - a Vector save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### getUserPrivileges

    java.util.Vector getUserPrivileges(java.lang.String realmName,
                                       java.lang.String submitter,
                                       java.lang.String userName)
                                       throws NoSuchUserException,
                                              NoSuchRealmException,
                                              java.rmi.RemoteException

  get user's privileges

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `userName` - the user's name
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### getRolePrivileges

    java.util.Vector getRolePrivileges(java.lang.String realmName,
                                       java.lang.String submitter,
                                       java.lang.String roleName)
                                       throws NoSuchRoleException,
                                              NoSuchRealmException,
                                              BadRealmException,
                                              java.rmi.RemoteException

  get user's privileges

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `roleName` - the role's name
  Throws:
    `NoSuchRoleException` - if role does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### getGroupPrivileges

    java.util.Vector getGroupPrivileges(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String groupName)
                                        throws NoSuchGroupException,
                                               NoSuchRealmException,
                                               BadRealmException,
                                               java.rmi.RemoteException

  get user's privileges

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `groupName` - the group's name
  Throws:
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### getPrivileges

    java.util.Hashtable[] getPrivileges(java.lang.String realmName,
                                        java.lang.String submitter)
                                        throws NoSuchGroupException,
                                               NoSuchRealmException,
                                               BadRealmException,
                                               java.rmi.RemoteException

  Get defined privileges of users

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
  Returns:
    a `Hashtable` array, which contains three `Hashtable` objects. The first `Hashtable` contains several user/privileges pair to represent defined privileges. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all privileges The second `Hashtable` object contains several role/privileges pair to represent defined privileges and its structure is similar to user/privileges. The third `Hashtable` object contains several group/privileges pair to represent defined privileges and its structure is similar to user/privileges. Or null if the user/role/group has not permission to get privileges.
  Throws:
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### setPrivileges

    void setPrivileges(java.lang.String realmName,
                       java.lang.String submitter,
                       java.util.Hashtable[] privileges)
                       throws NoSuchUserException,
                              NoSuchRealmException,
                              java.rmi.RemoteException

  Set privileges of users

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privileges` - a `Hashtable` array, which may contain three `Hashtable` objects. The first `Hashtable` contains several user/privileges pair to represent privileges. In this `Hashtable` object, key is user name, value is a `Vector` object which contains all privileges The second `Hashtable` object contains several role/privileges pair to represent defined privileges and its structure is similar to user/privileges The third `Hashtable` object contains several group/privileges pair to represent defined privileges and its structure is similar to user/privileges The structure of Hashtable[] privileges is: ::= ::= NULL | {, }... ::= NULL | {, }... ::= NULL | {, }... ::= a string of user name ::= a string of role name ::= a string of group name ::= | { | | }... ::= a vector object contains nothing ::= String APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT ::= String APIConst.PRIVILEGE_PUBLISH_REPORT ::= String APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Throws:
    `NoSuchUserException` - if user does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.

### getPrivilegedUsers

    java.util.Vector getPrivilegedUsers(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String privilege)
                                        throws NoSuchRealmException,
                                               java.rmi.RemoteException

  get all users who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    users a Vector save the users' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### getPrivilegedRoles

    java.util.Vector getPrivilegedRoles(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String privilege)
                                        throws NoSuchRealmException,
                                               java.rmi.RemoteException

  get all roles who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    roles a Vector save the roles' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### getPrivilegedGroups

    java.util.Vector getPrivilegedGroups(java.lang.String realmName,
                                         java.lang.String submitter,
                                         java.lang.String privilege)
                                         throws NoSuchRealmException,
                                                java.rmi.RemoteException

  get all groups who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    groups a Vector save the groups' names
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### addPrivilegedUsers

    java.lang.String addPrivilegedUsers(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String privilege,
                                        java.util.Vector users)
                                        throws NoSuchUserException,
                                               NoSuchRealmException,
                                               java.rmi.RemoteException

  add users to have this privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `users` - a Vector save the users' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user specified by users does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### addPrivilegedRoles

    java.lang.String addPrivilegedRoles(java.lang.String realmName,
                                        java.lang.String submitter,
                                        java.lang.String privilege,
                                        java.util.Vector roles)
                                        throws NoSuchRoleException,
                                               NoSuchRealmException,
                                               BadRealmException,
                                               java.rmi.RemoteException

  add roles to have this privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `roles` - a Vector save the roles' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRoleException` - if role specified by roles does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### addPrivilegedGroups

    java.lang.String addPrivilegedGroups(java.lang.String realmName,
                                         java.lang.String submitter,
                                         java.lang.String privilege,
                                         java.util.Vector groups)
                                         throws NoSuchGroupException,
                                                NoSuchRealmException,
                                                BadRealmException,
                                                java.rmi.RemoteException

  add roles to have this privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `groups` - a Vector save the groups' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchGroupException` - if group specified by groups does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### removePrivilegedUsers

    java.lang.String removePrivilegedUsers(java.lang.String realmName,
                                           java.lang.String submitter,
                                           java.lang.String privilege,
                                           java.util.Vector users)
                                           throws NoSuchUserException,
                                                  NoSuchRealmException,
                                                  java.rmi.RemoteException

  remove users from users who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `users` - a Vector save the users' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchUserException` - if user specified by users does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V7.1

### removePrivilegedRoles

    java.lang.String removePrivilegedRoles(java.lang.String realmName,
                                           java.lang.String submitter,
                                           java.lang.String privilege,
                                           java.util.Vector roles)
                                           throws NoSuchRoleException,
                                                  NoSuchRealmException,
                                                  BadRealmException,
                                                  java.rmi.RemoteException

  remove roles from roles who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `roles` - a Vector save the roles' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchRoleException` - if role specified by roles does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### removePrivilegedGroups

    java.lang.String removePrivilegedGroups(java.lang.String realmName,
                                            java.lang.String submitter,
                                            java.lang.String privilege,
                                            java.util.Vector groups)
                                            throws NoSuchGroupException,
                                                   NoSuchRealmException,
                                                   BadRealmException,
                                                   java.rmi.RemoteException

  remove groups from groups who have the privilege

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String save the available privilege such as APIConst.PRIVILEGE_CREATE_ANALYSIS_REPORT, APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `groups` - a Vector save the groups' names
  Returns:
    error message if any error occurs but does not throw exception, or null if success.
  Throws:
    `NoSuchGroupException` - if group specified by groups does not exist.
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `BadRealmException`
  Since:
    Server V7.1

### isEditing

    boolean isEditing(java.lang.String realm,
                      int action)
                      throws NoSuchRealmException,
                             java.rmi.RemoteException

  Check the action is can be edit

  Parameters:
    `realm` - the realm's name
    `action` - the server security web UI's action:
  Returns:
    if can do this action return true, otherwise return false
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V8
  See Also:
    `SecurityWebAdaptor`

### isJUserInJRole

    boolean isJUserInJRole(java.lang.String realmName,
                           java.lang.String submitter,
                           java.lang.String userName,
                           java.lang.String roleName)
                           throws NoSuchUserException,
                                  NoSuchRoleException,
                                  NoSuchRealmException,
                                  NoSuchGroupException,
                                  BadRealmException,
                                  java.rmi.RemoteException

  Indicates whether the user should be in a role

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `userName` - the user name
    `roleName` - the role name
  Returns:
    whether the user should be in a role
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `NoSuchGroupException`
  Since:
    Server V9

### isJUserInJGroup

    boolean isJUserInJGroup(java.lang.String realmName,
                            java.lang.String submitter,
                            java.lang.String userName,
                            java.lang.String groupName)
                            throws NoSuchUserException,
                                   NoSuchGroupException,
                                   NoSuchRealmException,
                                   NoSuchRoleException,
                                   BadRealmException,
                                   java.rmi.RemoteException

  Indicates whether the user should be in a group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    whether the user should be in a group
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchUserException` - if user does not exist.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
    `NoSuchRoleException`
  Since:
    Server V9

### isJGroupInJRole

    boolean isJGroupInJRole(java.lang.String realmName,
                            java.lang.String submitter,
                            java.lang.String groupName,
                            java.lang.String roleName)
                            throws NoSuchRoleException,
                                   NoSuchGroupException,
                                   NoSuchRealmException,
                                   BadRealmException,
                                   java.rmi.RemoteException

  Indicates whether the group should be in a role

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    whether the group should be in a role
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V9

### isJGroupInJGroup

    boolean isJGroupInJGroup(java.lang.String realmName,
                             java.lang.String submitter,
                             java.lang.String groupName,
                             java.lang.String parentName)
                             throws NoSuchGroupException,
                                    NoSuchRealmException,
                                    BadRealmException,
                                    java.rmi.RemoteException

  Indicates whether the group should be in a parent group

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the group name
    `parentName` - the parent group name
  Returns:
    whether the group should be in a parent group
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchGroupException` - if group does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V9

### isJRoleInJRole

    boolean isJRoleInJRole(java.lang.String realmName,
                           java.lang.String submitter,
                           java.lang.String roleName,
                           java.lang.String parentName)
                           throws NoSuchRoleException,
                                  NoSuchRealmException,
                                  BadRealmException,
                                  java.rmi.RemoteException

  Indicates whether the role should be in a parent role

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who request this action.
    `groupName` - the role name
    `parentName` - the parent role name
  Returns:
    whether the role should be in a parent role
  Throws:
    `NoSuchRealmException` - if realm specified by realmName does not exist.
    `BadRealmException` - if specified realm data structures are bad.
    `NoSuchRoleException` - if role does not exist.
    `java.rmi.RemoteException` - will be thrown if error occurs.
  Since:
    Server V9

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD