Interface EasyDeskAccessControlList<T extends EasyDeskAccessControlList<T>>

Type Parameters:
T - 구현 type
All Superinterfaces:
AccessControlList, Serializable
All Known Implementing Classes:
EasyDeskAccessControlListImpl

public interface EasyDeskAccessControlList<T extends EasyDeskAccessControlList<T>> extends AccessControlList
User-Group-Role-Permission 구조를 기반으로 하는 AccessControlList.

사용자는 group 별로 여러 role 을 가지며, role 에 부여된 permission 으로 권한을 판단한다.

Version:
$Id$
Author:
Youngho Cho
  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static enum 
    hasPermission 판단 전략(strategy) SIMPLE : 하나의 group 안에서 role 과 permission 을 1:1 로 판단 NORMAL : role/group 계층(cascade)을 따라 판단 EXTEND : Permission + Group + Resource 복합 계층
  • Method Summary

    Modifier and Type
    Method
    Description
    <R extends Role>
    Map<Group,RoleSet<R>>
    사용자가 속한 group 별 role 목록을 구한다.
    사용자가 속한 group 목록을 구한다.
    <R extends Role>
    RoleSet<R>
    getRoles(Group group)
    주어진 group 에서 사용자가 가진 role 목록을 구한다.
    boolean
    hasPermission(Role role, Group group, Permission... permissions)
    주어진 group 의 role 에 permission 들이 모두 부여되어 있는지 확인한다.
    boolean
    hasRole(Role role, Group group)
    주어진 group 에서 사용자가 role 을 가지고 있는지 확인한다.
  • Method Details

    • getGroupRoleMap

      <R extends Role> Map<Group,RoleSet<R>> getGroupRoleMap()
      사용자가 속한 group 별 role 목록을 구한다.
      Type Parameters:
      R - Role type
      Returns:
      { group, roleSet } map
    • getGroups

      GroupSet<Group> getGroups()
      사용자가 속한 group 목록을 구한다.
      Returns:
      groupSet which user belongs to
    • getRoles

      <R extends Role> RoleSet<R> getRoles(Group group)
      주어진 group 에서 사용자가 가진 role 목록을 구한다.
      Type Parameters:
      R - Role type
      Parameters:
      group - 대상 group
      Returns:
      all roles which this user have in a give group
    • hasRole

      boolean hasRole(Role role, Group group)
      주어진 group 에서 사용자가 role 을 가지고 있는지 확인한다.
      Parameters:
      role - 확인할 role
      group - 대상 group
      Returns:
      role 을 가지고 있으면 true
    • hasPermission

      boolean hasPermission(Role role, Group group, Permission... permissions)
      주어진 group 의 role 에 permission 들이 모두 부여되어 있는지 확인한다.
      Parameters:
      role - 확인할 role
      group - 대상 group
      permissions - 확인할 permission 들
      Returns:
      permission 을 모두 가지고 있으면 true