권한관리 질문
- 작성자 :
- 최*용
- 작성일 :
- 2012-07-27 13:12:22
- 조회수 :
- 1,516
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요? 전정부 개발하던도중 권한관리쪽에 관해 질문합니다.
되도록 빠른답변좀 부탁드릴게요ㅠㅠㅠ
제가 구현하고자 하는것은 롤정보에따라 url접근 가능/제한하는 기능입니다.
1. 권한관리에서 권한id추가 : ROLE_COMPANY
2. 롤관리에서 새로운 롤 등록 : \A/aa/bb/cc/.*do.*\Z url
3. 권한그룹관리에서 해당사용자의 아이디에 ROLE_COMPANY 권한 등록
4. 권한관리 > 롤정보 세팅
관리자(ROLE_ADMIN)에 2번에서 정한 롤을 등록함
ROLE_COMPANY에는 아무 롤도 등록하지않음
위와같이 구현했는데요..
그럼 ROLE_COMPANY 권한을 갖고있는 아이디는 2번에서 정한 url에 접근이 되지 않아야하는게 아닌가요??
ROLE_ADMIN에 해당하는사람만 2번 url에 접근이 되어야하는 것 같은데 지금 현상은 로그인하면 둘다 접근이 가능합니다...
제가 잘못 이해를하고있는지 답변좀 달아주세요~ 그럼 더운데 고생하세요!!
되도록 빠른답변좀 부탁드릴게요ㅠㅠㅠ
제가 구현하고자 하는것은 롤정보에따라 url접근 가능/제한하는 기능입니다.
1. 권한관리에서 권한id추가 : ROLE_COMPANY
2. 롤관리에서 새로운 롤 등록 : \A/aa/bb/cc/.*do.*\Z url
3. 권한그룹관리에서 해당사용자의 아이디에 ROLE_COMPANY 권한 등록
4. 권한관리 > 롤정보 세팅
관리자(ROLE_ADMIN)에 2번에서 정한 롤을 등록함
ROLE_COMPANY에는 아무 롤도 등록하지않음
위와같이 구현했는데요..
그럼 ROLE_COMPANY 권한을 갖고있는 아이디는 2번에서 정한 url에 접근이 되지 않아야하는게 아닌가요??
ROLE_ADMIN에 해당하는사람만 2번 url에 접근이 되어야하는 것 같은데 지금 현상은 로그인하면 둘다 접근이 가능합니다...
제가 잘못 이해를하고있는지 답변좀 달아주세요~ 그럼 더운데 고생하세요!!
A
안녕하세요.. 최진용님..
말씀하신 것 처럼.. ROLE_ADMIN 권한이 없는 사용자는 등록하신 URL 패턴을 사용하실 수 없습니다.
올려 주신 정보만으로는 원인을 찾을 수는 없지만.. 대략 다음과 같은 경우가 있을 것 같습니다.
1. web.xml springSecurityFilter 미등록..
web.xml에 다음 filter 부분 확인
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2. ROLE_COMPANY 또는 이 role이 권한을 상속하는 다른 role 상에 모든 패턴(*.do)가 접근할 수 있도록 등록된 경우..
이 경우.. ROLE_USER에 등록된 패턴 중에.. *.do와 같은 전체 패턴이 있는지 확인해 보시면 될 것 같습니다.
추가로 log4j.xml 상에.. org.springframework logger를 다음과 같이 추가하시거나 level을 변경하시면.. 자세한 정보가 로그상에 표시됩니다..
(어떤 패턴에 맞어 처리되는지 정보를 확인 가능)
<logger name="org.springframework" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
</logger>
그럼.. 즐거운 하루되십시오..
감사합니다.
말씀하신 것 처럼.. ROLE_ADMIN 권한이 없는 사용자는 등록하신 URL 패턴을 사용하실 수 없습니다.
올려 주신 정보만으로는 원인을 찾을 수는 없지만.. 대략 다음과 같은 경우가 있을 것 같습니다.
1. web.xml springSecurityFilter 미등록..
web.xml에 다음 filter 부분 확인
<filter>
<filter-name>springSecurityFilterChain</filter-name>
<filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2. ROLE_COMPANY 또는 이 role이 권한을 상속하는 다른 role 상에 모든 패턴(*.do)가 접근할 수 있도록 등록된 경우..
이 경우.. ROLE_USER에 등록된 패턴 중에.. *.do와 같은 전체 패턴이 있는지 확인해 보시면 될 것 같습니다.
추가로 log4j.xml 상에.. org.springframework logger를 다음과 같이 추가하시거나 level을 변경하시면.. 자세한 정보가 로그상에 표시됩니다..
(어떤 패턴에 맞어 처리되는지 정보를 확인 가능)
<logger name="org.springframework" additivity="false">
<level value="DEBUG" />
<appender-ref ref="console" />
</logger>
그럼.. 즐거운 하루되십시오..
감사합니다.