Clean Code that Works.

<sec:accesscontrollist hasPermission="8" domainObject="${aclBbs}">
</sec:accesscontrollist>

이렇게 하면 로그인한 사람의 권한이 acl Object의 권한과 일치 하는지 검색 하게 된다.

여기서 문제점이.. admin의 경우 permission 이 '16'이다.
admin은 하위 권한들을 가지고 있기 때문에 위 태그의 '8(delete, BasePermission)' 권한을 포함 해서 확인을 해야 하는데.
'16'이 모든 권한을 가지고 있으므로 '8' 일 경우에도 권한을 가지고 있어야 한다.

근데 aclObject는 admin이 이 객체에 대해서 16의 권한을 가지고 있어도
AclImpl 클래스의 isGranted에서 이를 == 비교로 하기 때문에 '16' 과 '8'은 다르기 때문에 권한이 있다고 표시 되지 않는다.

그럼 이를 변경 하기 위해서는 AclImp을 extends 해서 isGranted를 override 해야 하는가??

다른 방법으로 Permission을 비교하는 방법은 없을까?

음 좀 더 생각을 해 보자.