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.custom.security.relation
Interface RoleUserRelationProvider

    public interface RoleUserRelationProvider

Among the interfaces of JReport security API, `RoleUserProvider` is used to provide customized relation information among roles and users. In addition to getting relation information among roles and users from customer's external security system, this interface also provides the ability to modify relation information among roles and users in customer's external security system.

Since:
  version 8

Method Summary
`void` | `addUserToRole(java.lang.String realmName, java.lang.String roleName, java.lang.String userName)` Associates a user with the specified role in customer's external security system.
`java.util.Iterator` | `getUsersByRole(java.lang.String realmName, java.lang.String roleName)` Gets user names which associate with the specified role from customer's external security system.
`boolean` | `isEnableEdit()` Indicates whether customer's external security system will be modified by invoking some methods in `RoleUserRelationProvider`. In common cases, invokes `addUserToRole()` or `removeUserFromRole()` should take effect on customer's external security system, and cause modification of external security system, this method should return `true` in such cases.
`void` | `removeUserFromRole(java.lang.String realmName, java.lang.String roleName, java.lang.String userName)` Removes association between the specified role and user in customer's external security system.

Method Detail

### getUsersByRole

    java.util.Iterator getUsersByRole(java.lang.String realmName,
                                      java.lang.String roleName)
                                      throws NoSuchRoleException,
                                             JRCustomerException

  Gets user names which associate with the specified role from customer's external security system.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the role name.
  Returns:
    user names which associate with the specified role.
  Throws:
    `NoSuchRoleException` - If there is no role with the specified role name in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation thinks this error should be thrown to JReport server security system.

### addUserToRole

    void addUserToRole(java.lang.String realmName,
                       java.lang.String roleName,
                       java.lang.String userName)
                       throws NoSuchRoleException,
                              NoSuchUserException,
                              UserExistsException,
                              JRCustomerException

  Associates a user with the specified role in customer's external security system.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the role name which the user will associate with
    `userName` - the user name which will associate with the specific role
  Throws:
    `NoSuchRoleException` - If the specified role does not exist in customer's external security system.
    `NoSuchUserException` - If the specified user does not exist in customer's external security system.
    `UserExistsException` - If the user has associated with the specified role in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation thinks this error should be thrown to JReport server security system.

### removeUserFromRole

    void removeUserFromRole(java.lang.String realmName,
                            java.lang.String roleName,
                            java.lang.String userName)
                            throws NoSuchRoleException,
                                   NoSuchUserException,
                                   JRCustomerException

  Removes association between the specified role and user in customer's external security system.

  Parameters:
    `realmName` - the realm name.
    `roleName` - the parent role name.
    `userName` - the user name.
  Throws:
    `NoSuchRoleException` - If the specified role does not exist in customer's external security system.
    `NoSuchUserException` - If the specified user does not exist in customer's external security system.
    `JRCustomerException` - If an error occurs during JReport server security system invoking this method, and the implementation thinks this error should be thrown to JReport server security system.

### isEnableEdit

    boolean isEnableEdit()

  Indicates whether customer's external security system will be modified by invoking some methods in `RoleUserRelationProvider`.
  In common cases, invokes `addUserToRole()` or `removeUserFromRole()` should take effect on customer's external security system, and cause modification of external security system, this method should return `true` in such cases. If customer's external security system will not be affected by invoking `addUserToRole()` or `removeUserFromRole()`, this method should return `false`.
  Returned value of the method `isEditing()` with parameter `SecurityWebAdaptor.ACTION_EDIT_RELATION_ROLE_USER` in `jet.server.api.SecurityWebAdaptor` is the same as this method's return value.

  Returns:
    `true` if external security system will be affected by invoking `addUserToRole()` or `removeUserFromRole()`, otherwise return `false`.
  See Also:
    `SecurityWebAdaptor`

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