어디에서 ACL의 계층 구조를 최상으로 관리해야합니까? 계층 구조를 관리하기 위해 별도의 트리 구조를 구축ACL 상속을 어디에서 관리 할 수 있습니까?
class Acl {
Acl parent;
// ...
}
2) :
1) 대한 ACL 자체가 계층 구조를 관리 :
나는 ACL을의 계층 구조를 관리하는 세 가지 가능성을 볼 .
3) ACL의 암시 적 계층으로 이미 존재하는 계층 구조를 사용합니다 (예 : 파일 시스템에 이미 계층 구조가 있음).
다음 코드는 기존의 계층 구조를 사용하는 하나의 가능성이 될 것입니다 :
interface AclHolder {
Acl getAcl();
}
public class Folder implements AclHolder {
private AclHolder parent;
private Acl acl;
@Override
public Acl getAcl(){
return acl==null ? parent.getAcl() : acl;
}
}
또 다른 방법은 다른 무엇과 계층을 정의하는 규칙을 사용할 수 있습니다.
이 계층 구조는 일반적으로 시스템 구조를 반영해야하며 중복 형태이기 때문에 1) 및 2)와 같은 명시적인 ACL 계층 구조를 만드는 것은 문제가 될 수 있다고 생각합니다.
가장 좋은 방법은 무엇입니까?