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` provides methods to manage security resource in the report server.

Method Summary
`java.lang.String` | `addGroup(java.lang.String realmName, java.lang.String groupName, java.lang.String description, java.lang.String submitter)` Adds 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)` Adds a group to a role as a member.
`java.lang.String` | `addNewParentRolesToUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.lang.String roleName)` Adds some new parent roles to a user.
`java.lang.String` | `addPrivilegedGroups(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege, java.util.Vector groups)` Adds 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)` Adds 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)` Adds users to have this privilege.
`java.lang.String` | `addRealm(java.lang.String realmName, java.lang.String submitter, int scheme)` Adds 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)` Adds 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)` Adds 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)` Adds 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)` Adds 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)` Adds 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)` Adds 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)` Adds 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)` Changes 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)` Edits 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)` Edits the specified user.
`java.lang.String` | `getActiveRealm()` Gets the active Realm in JReport server.
`java.util.Vector` | `getAllGroupNames(java.lang.String realmName)` Gets all group names in the realm.
`JGroup[]` | `getAllJGroups(java.lang.String realmName, java.lang.String submitter)` A JGroup array that contains all groups in the server.
`JRole[]` | `getAllJRoles(java.lang.String realmName, java.lang.String submitter)` Gets all roles in the realm.
`JUser[]` | `getAllJUser(java.lang.String realmName, java.lang.String submitter)` Gets all users in the realm.
`java.util.Vector` | `getAllRealmNames()` Gets all realm names list in the report server.
`java.util.Vector` | `getAllRoleNames(java.lang.String realmName, java.lang.String submitter)` Gets all role names in the realm.
`java.util.Vector` | `getAllUserNames(java.lang.String realmName)` Gets all user names in the realm.
`java.util.Vector` | `getAllUserNamesByRole(java.lang.String submitter, java.lang.String realmName, java.lang.String roleName)` Gets all user names in the role.
`java.lang.String` | `getCurRealm()` Gets the current editing Realm in JReport server.
`int` | `getGroupMemberCount(java.lang.String realmName, java.lang.String groupName)` Gets member count in a group.
`int` | `getGroupMemberCount(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets member count in a group.
`java.util.Vector` | `getGroupPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets a user's privileges.
`JGroup` | `getJGroupByName(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets the group specified by group name.
`JGroup[]` | `getJGroupsByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Gets sub groups from the role.
`JGroup[]` | `getJGroupsByJUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` Gets the groups which the specific user has
`JRole` | `getJRole(java.lang.String submitter, java.lang.String realmName, java.lang.String roleName)` Gets the role specified by roleName.
`JRole[]` | `getJRolesByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets parent roles' objects from the group.
`JUser` | `getJUser(java.lang.String submitter, java.lang.String realmName, java.lang.String userName)` Gets the user.
`JUser[]` | `getJUsersByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets sub user object array from the parent group.
`boolean` | `getMessageMode()` Gets the internal message mode in JReport server.
`JRole[]` | `getParentJRolesByJUser(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` Gets roles which the specific user has.
`java.util.Vector` | `getPrivilegedGroups(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` Gets all groups who have the privilege.
`java.util.Vector` | `getPrivilegedRoles(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` Gets all roles who have the privilege.
`java.util.Vector` | `getPrivilegedUsers(java.lang.String realmName, java.lang.String submitter, java.lang.String privilege)` Gets all users who have the privilege.
`java.util.Hashtable[]` | `getPrivileges(java.lang.String realmName, java.lang.String submitter)` Gets the defined privileges of users
`int` | `getRoleMemberCount(java.lang.String realmName, java.lang.String roleName)` Gets member count in a role.
`int` | `getRoleMemberCount(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Gets member count in a role.
`java.util.Vector` | `getRolePrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Gets a user's privileges.
`JGroup[]` | `getSubJGroupsByJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName)` Gets sub groups from the parent group.
`JRole[]` | `getSubJRolesByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Gets a role's sub roles.
`JUser[]` | `getSubJUsersByJRole(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName)` Gets a role's sub users
`java.lang.String` | `getUserDescription(java.lang.String realmName, java.lang.String userName)` Gets the user's description.
`java.lang.String` | `getUserEmail(java.lang.String realmName, java.lang.String userName)` Gets the user's email address.
`java.lang.String` | `getUserFullname(java.lang.String realmName, java.lang.String userName)` Gets the user's full name.
`int` | `getUserParentGroupsCount(java.lang.String realmName, java.lang.String userName)` Gets the count of a user's parent groups.
`int` | `getUserParentRolesCount(java.lang.String realmName, java.lang.String userName)` Gets the count of a user's parent roles.
`int` | `getUserPasswordExpireTime(java.lang.String realmName, java.lang.String userName)` Gets user password expired time.
`int` | `getUserPasswordMinLength(java.lang.String realmName, java.lang.String userName)` Gets user password minimum length.
`java.util.Vector` | `getUserPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String userName)` Gets a user's privileges.
`boolean` | `isAdminUser(java.lang.String userName)` Checks whether the user is administrator or not.
`boolean` | `isAuditFileAccessFail(java.lang.String realmName, java.lang.String userName)` Checks whether to audit failed ACCESS event for the user.
`boolean` | `isAuditFileAccessSuccess(java.lang.String realmName, java.lang.String userName)` Checks whether to audit successful ACCESS event for the user.
`boolean` | `isAuditManageFail(java.lang.String realmName, java.lang.String userName)` Checks whether to audit failed MANAGE event for the user.
`boolean` | `isAuditManageSuccess(java.lang.String realmName, java.lang.String userName)` Checks whether to audit successful MANAGE event for the user.
`boolean` | `isEditing(java.lang.String realm, int action)` Checks whether the action can be edited.
`boolean` | `isJGroupInJGroup(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.lang.String parentName)` Indicates whether the group is 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 is 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 is 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 is 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 is in a role.
`boolean` | `isNoAudit(java.lang.String realmName, java.lang.String userName)` Checks if it does not audit any ACCESS or MANAGE event for the user.
`boolean` | `isOrganizationAdminUser(java.lang.String userName)` Checks whether the user is administrator of a organization or not.
`boolean` | `isUserAccountDisable(java.lang.String realmName, java.lang.String userName)` Checks whether user account is disabled.
`boolean` | `isUserPasswordNeverExpire(java.lang.String realmName, java.lang.String userName)` Checks if user password never expires.
`boolean` | `isUserPasswordPermitBlank(java.lang.String realmName, java.lang.String userName)` Checks if user password permits 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)` Removes 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)` Removes 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)` Removes groups from the 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)` Removes roles from the 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)` Removes users from the users who have the privilege.
`java.lang.String` | `removeRealm(java.lang.String realmName, java.lang.String submitter)` Removes a realm specified by realmName.
`java.lang.String` | `removeRole(java.lang.String realmName, java.lang.String roleName, java.lang.String submitter)` Removes 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)` Removes 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)` Removes a sub group from the group.
`java.lang.String` | `removeUser(java.lang.String realmName, java.lang.String userName, java.lang.String submitter)` Removes 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)` Removes 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)` Removes a user from a parent role.
`java.lang.String` | `setAuditFileAccessFail(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Sets whether to audit failed ACCESS actions for the user.
`java.lang.String` | `setAuditFileAccessSuccess(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Sets whether to 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)` Sets whether to audit failed MANAGE actions for the user.
`java.lang.String` | `setAuditManageSuccess(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Sets whether to audit successful MANAGE actions for the user.
`void` | `setCurRealm(java.lang.String realm)` Sets the current editing Realm in JReport server.
`java.lang.String` | `setGroupPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String groupName, java.util.Vector privileges)` Sets privileges for a group.
`void` | `setMessageMode(boolean mode)` Sets the internal message mode in JReport server.
`java.lang.String` | `setNoAudit(java.lang.String realmName, java.lang.String userName, boolean b, java.lang.String submitter)` Sets whether no event to be audited for the user.
`void` | `setPrivileges(java.lang.String realmName, java.lang.String submitter, java.util.Hashtable[] privileges)` Sets privileges of users
`java.lang.String` | `setRolePrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String roleName, java.util.Vector privileges)` Sets privileges for a role.
`java.lang.String` | `setUserPrivileges(java.lang.String realmName, java.lang.String submitter, java.lang.String userName, java.util.Vector privileges)` Sets privileges for a user.

Method Detail

### getCurRealm

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

  Gets the current editing Realm in JReport server.

  Returns:
    the current editing Realm in JReport server.
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### setCurRealm

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

  Sets the current editing Realm in JReport server.

  Parameters:
    `realm` -
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getMessageMode

    boolean getMessageMode()
                           throws java.rmi.RemoteException

  Gets the internal message mode in JReport server. true---return message string. false---return message key.

  Returns:
    the internal message mode in JReport server.
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### setMessageMode

    void setMessageMode(boolean mode)
                        throws java.rmi.RemoteException

  Sets the internal message mode in JReport server.

  Parameters:
    `mode` - the message mode
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getActiveRealm

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

  Gets the active Realm in JReport server.

  Returns:
    the active Realm in JReport server.
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getAllRealmNames

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

  Gets all realm names list in the report server.

  Returns:
    the vector representing all realm names list.
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Adds a new realm specified by realmName.

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

### removeRealm

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

  Removes a realm specified by realmName.

  Parameters:
    `realmName` - the new realm name
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs, or null if successful.
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Adds 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 requested this action
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `InUseException` - when attempting to delete an object, such as a user or group, which is in use as a part of the realm's security policy.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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 requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `InUseException` - when attempting to delete an object, such as a user or group, which is in use as a part of the realm's security policy.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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 contains all groups in the server.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
  Returns:
    the array representing all groups list.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    Server V8
  See Also:
    `JGroup`

### getAllGroupNames

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

  Gets all group names in the realm.

  Parameters:
    `realmName` - the realm name.
  Returns:
    the vector representing all group names.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets the group specified by group name.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
  Returns:
    a Group that is requested.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    server V8
  See Also:
    `JGroup`

### getGroupMemberCount

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

  Gets member count in a group.

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

### getGroupMemberCount

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

  Gets member count in a group.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
    `groupName` - the group name.
  Returns:
    the member count in the specified group.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds a user into a group as sub user.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds a group into a group as sub group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `subGroupName` - the sub group name
    `groupName` - the group name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds a group to a role as a member.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a user from the group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a sub group from the group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `subGroupName` - the sub group name
    `groupName` - the group name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a group from the role.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets sub groups from the parent group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
  Returns:
    a Vector saving the sub groups' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets sub user object array from the parent group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
  Returns:
    a Vector saving the sub users' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets parent roles' objects from the group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
  Returns:
    a Vector saving the parent roles' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets sub groups from the role.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `roleName` - the role name
  Returns:
    a Vector saving the sub groups' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets the user.

  Parameters:
    `submitter` - the user who requested this action.
    `realmName` - the realm name.
    `userName` - the user name
  Returns:
    a `User` object
  Throws:
    `NoSuchUserException` - if there is not the specified user in the security manager.
    `NoSuchRealmException` - if there is not the specified realm in the security manager.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds a new user into the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested 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 will be expired, true if the password will not be expired.
    `passExpireTime` - if passNeverExpire is false, represent after how long the password will be expired.
    `passPermitBlank` - whether the password can be blank, true if blank is permitted.
    `passMinLength` - if the password cannot be blank, represent the password's minimum length.
    `disabledAccount` - whether this user account can be used.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `UserExistsException` - if the user specified by userName exists.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a user from the realm.

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

### getUserFullname

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

  Gets the user's full name.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getUserDescription

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

  Gets the user's description.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getUserEmail

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

  Gets the user's email address.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isUserAccountDisable

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

  Checks whether user account is disabled.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isUserPasswordNeverExpire

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

  Checks if user password never expires.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getUserPasswordExpireTime

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

  Gets user password expired time.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isUserPasswordPermitBlank

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

  Checks if user password permits blank.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getUserPasswordMinLength

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

  Gets user password minimum length.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    the user's full name.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Changes user password.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `subPwd` - the submitter's password
    `newPwd` - the new password
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Edits 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 requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `InUseException` - when attempting to delete an object, such as a user or group, which is in use as a part of the realm's security policy.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Edits 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 will be expired, true if the password will not be expired.
    `passExpireTime` - if passNeverExpire is false, represent after how long the password will be expired.
    `passPermitBlank` - whether the password can be blank, true if blank is permitted.
    `passMinLength` - if the password cannot be blank, represent the password's minimum length.
    `disabledAccount` - whether this user account can be used.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `InUseException` - when attempting to delete an object, such as a user or group, which is in use as a part of the realm's security policy.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getAllUserNames

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

  Gets all user names in the realm.

  Parameters:
    `realmName` - the realm name.
  Returns:
    the vector representing all user names in the realm.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getAllJUser

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

  Gets all users in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
  Returns:
    the array representing all user names in the realm.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets all user names in the role.

  Parameters:
    `submitter` - the user who requested this action.
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    the vector representing all user names in the realm.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getParentJRolesByJUser

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

  Gets roles which the specific user has.

  Parameters:
    `realmName` - the realm name.
    `submitter` - user id who sent this request
    `userName` - the user name
  Returns:
    a `Vector` object containing role names which the specific user has, or null if the submitter does not have permission to get roles by this user.
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Gets the groups which the specific user has

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `userName` - the user name
  Returns:
    a `Vector` object containing group names which the specific user has, or null if the submitter does not have permission to get groups by this user.
  Throws:
    `NoSuchUserException` - if the user does not exist
    `NoSuchRealmException` - if the realm does not exist
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds some new parent roles to a user.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `userName` - the name of the user that will be added some new parent roles to
    `roleName` - the new parent role's name.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds a user into a role.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the group name that will be added a member into.
    `userName` - the user name.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getUserParentRolesCount

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

  Gets the count of a user's parent roles.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user's name
  Returns:
    the count of parent roles, If there are errors, it will return -1
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getUserParentGroupsCount

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

  Gets the count of a user's parent groups.

  Parameters:
    `realmName` - the realm name
    `userName` - the user's name
  Returns:
    the count of parent groups
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a parent role from a user.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
    `userName` - the name of the user that will be deleted a parent role
    `roleName` - the new parent role's name.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Sets whether no event to be audited for the user. These audit settings can point out whether the 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 to log this user's MANAGE and ACCESS actions.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Sets whether to audit successful ACCESS actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether to log this user's successful ACCESS actions.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Sets whether to audit failed ACCESS actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether to log this user's failed ACCESS actions.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Sets whether to audit successful MANAGE actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether to log this user's MANAGE actions.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Sets whether to audit failed MANAGE actions for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
    `b` - whether to log this user's failed MANAGE actions.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.io.IOException` - if error occurs when trying to save data.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isNoAudit

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

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

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if it does not audit any event, otherwise false.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isAuditFileAccessSuccess

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

  Checks whether to audit successful ACCESS event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if there is need to audit successful ACCESS event, otherwise false.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isAuditFileAccessFail

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

  Checks whether to audit failed ACCESS event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if there is need to audit failed ACCESS event, otherwise false.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isAuditManageSuccess

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

  Checks whether to audit successful MANAGE event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if there is need to audit successful MANAGE event, otherwise false.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### isAuditManageFail

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

  Checks whether to audit failed MANAGE event for the user.

  Parameters:
    `realmName` - the realm name.
    `userName` - the user name.
  Returns:
    true if there is need to audit failed MANAGE event, otherwise false.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Adds 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 requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `RoleExistsException` - if the role exists.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a role from the realm.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the role name.
    `submitter` - the user who requested this action.
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getAllJRoles

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

  Gets all roles in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
  Returns:
    the enumeration representing all roles.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V8
  See Also:
    `JRole`

### getAllRoleNames

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

  Gets all role names in the realm.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the user who requested this action.
  Returns:
    the vector representing all role names.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getJRole

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

  Gets the role specified by roleName.

  Parameters:
    `submitter` - the user who requested this action.
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    the role that is requested.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V8
  See Also:
    `JRole`

### getRoleMemberCount

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

  Gets member count in a role.

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

### getRoleMemberCount

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

  Gets member count in a role.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `roleName` - the role name.
  Returns:
    the member count in the specified role.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### getSubJRolesByJRole

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

  Gets a role's sub roles.

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `roleName` - the role's name
  Returns:
    the sub roles
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets a role's sub users

  Parameters:
    `realmName` - the realm name.
    `submitter` - the submitter's name
    `roleName` - the role's name
  Returns:
    the sub users
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a role from a parent role.

  Parameters:
    `submitter` - the submitter's name
    `realmName` - the realm name.
    `roleName` - the name of the role that will be removed from a parent role.
    `parentRoleName` - the parent role's name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes a user from a parent role.

  Parameters:
    `submitter` - the submitter's name
    `realmName` - the realm name.
    `userName` - the name of the user that will be removed from a parent role.
    `parentRoleName` - the parent role's name
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchUserException` - if the user does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds 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 no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds 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 no exception is thrown, or null if successful.
  Throws:
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    V6

### isAdminUser

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

  Checks whether the user is administrator or not.

  Parameters:
    `userName` - the user's name
  Returns:
    if the user is administrator return true, otherwise return false
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### 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

  Sets privileges for a user.

  Parameters:
    `realmName` - the realm name
    `submitter` - the submitter name
    `userName` - the user's name
    `privileges` - a Vector saving the available privileges such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Sets privileges for a role.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `roleName` - the user name
    `privileges` - a Vector saving the available privileges such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Sets privileges for a group.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `groupName` - the group name
    `privileges` - a Vector saving the available privileges such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Gets a user's privileges.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `userName` - the user's name
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets a user's privileges.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `roleName` - the role's name
  Throws:
    `NoSuchRoleException` - if the role does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Gets a user's privileges.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `groupName` - the group's name
  Throws:
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Gets the 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 pairs to represent the defined privileges. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all privileges. The second `Hashtable` object contains several role/privileges pairs to represent the defined privileges and its structure is similar to user/privileges. The third `Hashtable` object contains several group/privileges pairs to represent the defined privileges and its structure is similar to user/privileges. Or null if the user/role/group does not have permission to get privileges.
  Throws:
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### setPrivileges

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

  Sets 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 pairs to represent the privileges. In this `Hashtable` object, the key is user name, the value is a `Vector` object which contains all privileges. The second `Hashtable` object contains several role/privileges pairs to represent the defined privileges and its structure is similar to user/privileges. The third `Hashtable` object contains several group/privileges pairs to represent the 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_PUBLISH_REPORT ::= String APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Throws:
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

### getPrivilegedUsers

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

  Gets all users who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    users a Vector saving the users' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets all roles who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    roles a Vector saving the roles' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Gets all groups who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
  Returns:
    groups a Vector saving the groups' names
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds users to have this privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `users` - a Vector saving the users' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user specified by users does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds roles to have this privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `roles` - a Vector saving the roles' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRoleException` - if the role specified by roles does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Adds roles to have this privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `groups` - a Vector saving the groups' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchGroupException` - if the group specified by groups does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes users from the users who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `users` - a Vector saving the users' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchUserException` - if the user specified by users does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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

  Removes roles from the roles who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `roles` - a Vector saving the roles' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchRoleException` - if the role specified by roles does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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

  Removes groups from the groups who have the privilege.

  Parameters:
    `realmName` - the realm's name
    `submitter` - the submitter's name
    `privilege` - a String saving the available privilege such as APIConst.PRIVILEGE_PUBLISH_REPORT, APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
    `groups` - a Vector saving the groups' names
  Returns:
    error message if any error occurs but no exception is thrown, or null if successful.
  Throws:
    `NoSuchGroupException` - if the group specified by groups does not exist.
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `BadRealmException`
  Since:
    Server V7.1

### isEditing

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

  Checks whether the action can be edited.

  Parameters:
    `realm` - the realm's name
    `action` - the server security web UI's action:
  Returns:
    if this action can be done return true, otherwise return false
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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 is in a role.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `userName` - the user name
    `roleName` - the role name
  Returns:
    whether the user is in the role
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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 is in a group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `userName` - the user name
    `groupName` - the group name
  Returns:
    whether the user is in the group
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchUserException` - if the user does not exist.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
    `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 is in a role.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
    `roleName` - the role name
  Returns:
    whether the group is in the role
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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 is in a parent group.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the group name
    `parentName` - the parent group name
  Returns:
    whether the group is in the parent group
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchGroupException` - if the group does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  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 is in a parent role.

  Parameters:
    `realmName` - the realm name
    `submitter` - the user who requested this action.
    `groupName` - the role name
    `parentName` - the parent role name
  Returns:
    whether the role is in the parent role
  Throws:
    `NoSuchRealmException` - if the realm specified by realmName does not exist.
    `BadRealmException` - if the specified realm data structures are bad.
    `NoSuchRoleException` - if the role does not exist.
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.
  Since:
    Server V9

### isOrganizationAdminUser

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

  Checks whether the user is administrator of a organization or not.

  Parameters:
    `userName` - the user's name
  Returns:
    if the user is administrator of a organization return true, otherwise return false
  Throws:
    `java.rmi.RemoteException` - if communication-related error occurs during RMI call execution.

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