권한별 롤관리
- 작성자 :
- 박*호
- 작성일 :
- 2014-08-28 10:06:27
- 조회수 :
- 689
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
2.7버전으로 개발 중에 궁금한 부분이 생겨서 글 남깁니다.
권한별 롤을 계층형이 아니라 수평적으로 설정이 가능한가요?
예를 들어서 관리자 권한이 ROLE_ADMIN1, ROLE_ADMIN2, ROLE_ADMIN3 3가지 종류가 있고,
유저 A - ROLE_ADMIN1
유저 B - ROLE_ADMIN2
유저 C - ROLE_ADMIN3
의 권한을 각각 부여받았을때
aaa.do, bbb.do, ccc.do의 롤이 존재할 경우,
유저A(ROLE_ADMIN1)에겐 aaa.do, bbb.do, ccc.do 접근권한을 부여하고,
유저B(ROLE_ADMIN2)에겐 aaa.do, bbb,do 접근권한을 부여,
유저C(ROLE_ADMIN3)에겐 bbb.do, ccc.do 접근권한을 부여하여 계층형식으로 상속이 아니라 각 권한에 접근권한 설정이 가능한가요?
현재는 저런식으로 설정을 하니 중복으로 접근권한을 허용한 롤은 그 중에 한 권한에서만 열리고 나머지는 접근권한이 없다고 뜨네요.
이렇게 설정하려는 이유가 사용업체에서 관리자 마다 보여지는 메뉴와 접근권한을 다르게 부여하고 싶은데,
현재 딱히 고정된 권한들이 정해진게 아니라 필요할때 마다 스스로 권한을 추가하고 메뉴와 접근권한을 설정하여
해당 유저에서 권한을 부여하여서 사용하고 싶다고 하여서 그렇습니다.
권한별 롤을 계층형이 아니라 수평적으로 설정이 가능한가요?
예를 들어서 관리자 권한이 ROLE_ADMIN1, ROLE_ADMIN2, ROLE_ADMIN3 3가지 종류가 있고,
유저 A - ROLE_ADMIN1
유저 B - ROLE_ADMIN2
유저 C - ROLE_ADMIN3
의 권한을 각각 부여받았을때
aaa.do, bbb.do, ccc.do의 롤이 존재할 경우,
유저A(ROLE_ADMIN1)에겐 aaa.do, bbb.do, ccc.do 접근권한을 부여하고,
유저B(ROLE_ADMIN2)에겐 aaa.do, bbb,do 접근권한을 부여,
유저C(ROLE_ADMIN3)에겐 bbb.do, ccc.do 접근권한을 부여하여 계층형식으로 상속이 아니라 각 권한에 접근권한 설정이 가능한가요?
현재는 저런식으로 설정을 하니 중복으로 접근권한을 허용한 롤은 그 중에 한 권한에서만 열리고 나머지는 접근권한이 없다고 뜨네요.
이렇게 설정하려는 이유가 사용업체에서 관리자 마다 보여지는 메뉴와 접근권한을 다르게 부여하고 싶은데,
현재 딱히 고정된 권한들이 정해진게 아니라 필요할때 마다 스스로 권한을 추가하고 메뉴와 접근권한을 설정하여
해당 유저에서 권한을 부여하여서 사용하고 싶다고 하여서 그렇습니다.
A
안녕하세요. 박강호님.
가능합니다.
개별적으로 리소스(URL 패턴)에 대하여 N:M 관계로 권한에 지정하실 수 있습니다.
권한을 할당받는 것도 유저별로 여러 권한(ROLE)을 갖을 수 있도록 되어 있습니다. (다만, 공통컴포넌트에서 제공하는 권한관리를 사용하시면 UI 부분에 유저별 권한을 combox 박스 형태로 하나만 지정할 수 있으나, 이 부분은 필요시 커스터마이징 하셔서 적용하실 수 있습니다.)
리소스도 권한을 하나만 갖더라도 접근할 수 있는 것이 맞습니다.
혹 한 권한만 열리다고 말씀하시는 부분은 실제 적용되어 있는 정보 확인이 필요한 것 같습니다.
이 부분은 log4j 상에 org.springframework logger의 level에 대하여 "DEBUG"로 변경 하신 후에,
접근이 차단된 URL을 접근 할 때에 로그 정보를 확인해야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.
가능합니다.
개별적으로 리소스(URL 패턴)에 대하여 N:M 관계로 권한에 지정하실 수 있습니다.
권한을 할당받는 것도 유저별로 여러 권한(ROLE)을 갖을 수 있도록 되어 있습니다. (다만, 공통컴포넌트에서 제공하는 권한관리를 사용하시면 UI 부분에 유저별 권한을 combox 박스 형태로 하나만 지정할 수 있으나, 이 부분은 필요시 커스터마이징 하셔서 적용하실 수 있습니다.)
리소스도 권한을 하나만 갖더라도 접근할 수 있는 것이 맞습니다.
혹 한 권한만 열리다고 말씀하시는 부분은 실제 적용되어 있는 정보 확인이 필요한 것 같습니다.
이 부분은 log4j 상에 org.springframework logger의 level에 대하여 "DEBUG"로 변경 하신 후에,
접근이 차단된 URL을 접근 할 때에 로그 정보를 확인해야 할 것 같습니다.
그럼, 즐거운 하루되십시오.
감사합니다.