권한 관련 질문입니다.
- 작성자 :
- 임*원
- 작성일 :
- 2010-10-14 15:00:20
- 조회수 :
- 3,070
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
수고하십니다.
게시판 리스트는 로그인없이 접근 하면 에러가 나는데 검색해보니
공통 컴포넌트는 인증을 해야하는데 회원정보를 읽어들이지 못해서 에러가 난다고 하셨습니다.
해당 에러에 대해 많은 질문들을 받으신 것 같은데요.
검색을 많이 해봤지만 원하는 답변이 없어서 질문 드립니다.
(java.lang.ClassCastException: java.lang.String
at egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper.getAuthenticatedUser(EgovUserDetailsHelper.java:49)
ROLE_USER 에다가 게시판 url 패턴을 설정하니 비로그인 상태에서는 로그인 url 로 가게 됩니다. 그리고 패턴을 삭제하면 비로그인 상태에서는 접근이 가능하니까 접근은 하는데 인증이 안되서 에러가 나고 있구요. (제가 이해하고 있는 것이 맞는 것인가요?)
[질문1]
비로그인 상태에서 접근이 가능하게 하려면 controller 에서 인증 처리를 삭제 해서 사용해야 하다는 것인가요?
[질문2]
롤 관련 입니다.
스프링에서 제공하는 기본 권한이라고 나와있는데
현재 기본 데이터 insert 하면 아래 기본 롤들이 등록 됩니다.
=================================================
ROLE_ANONYMOUS 모든 사용자
ROLE_ADMIN 관리자
ROLE_RESTRICTED 제한된 사용자
ROLE_USER 일반 사용자
IS_AUTHENTICATED_ANONYMOUSLY 익명 사용자
IS_AUTHENTICATED_REMEMBERED REMEMBERED 사용자
IS_AUTHENTICATED_FULLY 인증된 사용자
=================================================
ROLE로 시작하는 롤들은 대충 알겠는데
IS로 시작하는 롤들은 어떤 의미로 해석해야하는지 애매합니다.
어떤 사용자가 저런 권한을 획득할 수 있는건지 말입니다.
감사합니다.
게시판 리스트는 로그인없이 접근 하면 에러가 나는데 검색해보니
공통 컴포넌트는 인증을 해야하는데 회원정보를 읽어들이지 못해서 에러가 난다고 하셨습니다.
해당 에러에 대해 많은 질문들을 받으신 것 같은데요.
검색을 많이 해봤지만 원하는 답변이 없어서 질문 드립니다.
(java.lang.ClassCastException: java.lang.String
at egovframework.com.sec.ram.security.userdetails.util.EgovUserDetailsHelper.getAuthenticatedUser(EgovUserDetailsHelper.java:49)
ROLE_USER 에다가 게시판 url 패턴을 설정하니 비로그인 상태에서는 로그인 url 로 가게 됩니다. 그리고 패턴을 삭제하면 비로그인 상태에서는 접근이 가능하니까 접근은 하는데 인증이 안되서 에러가 나고 있구요. (제가 이해하고 있는 것이 맞는 것인가요?)
[질문1]
비로그인 상태에서 접근이 가능하게 하려면 controller 에서 인증 처리를 삭제 해서 사용해야 하다는 것인가요?
[질문2]
롤 관련 입니다.
스프링에서 제공하는 기본 권한이라고 나와있는데
현재 기본 데이터 insert 하면 아래 기본 롤들이 등록 됩니다.
=================================================
ROLE_ANONYMOUS 모든 사용자
ROLE_ADMIN 관리자
ROLE_RESTRICTED 제한된 사용자
ROLE_USER 일반 사용자
IS_AUTHENTICATED_ANONYMOUSLY 익명 사용자
IS_AUTHENTICATED_REMEMBERED REMEMBERED 사용자
IS_AUTHENTICATED_FULLY 인증된 사용자
=================================================
ROLE로 시작하는 롤들은 대충 알겠는데
IS로 시작하는 롤들은 어떤 의미로 해석해야하는지 애매합니다.
어떤 사용자가 저런 권한을 획득할 수 있는건지 말입니다.
감사합니다.
A
안녕하세요, 임교원님
[답변1]
전자정부 표준 프레임워크에서는 권한관리에 대하여 URL를 기반으로 Spring Security가 적용되어 있어 로그인 하지 않고(아무권한없이 Anonymous)로 원하시는 게시판 URL에 들어가게 하시려면 해당 게시판의 URL이 ROLE_USER권한이 적용된 URL패턴(ex.\A/cop/bbs/.*\.do.*\Z)에 포함이 되지 않아야 합니다.
현재는 ROLE_USER에 위의 패턴에 포함이 되기 때문에 설정된 권한(ROLE_USER 권한)만으로 접근이 허용되는 경우입니다.
[답변2]
Spring Security에서 기본적으로 제공하는 권한은 다음과 같습니다.
=================================================
ROLE_ANONYMOUS 모든 사용자
IS_AUTHENTICATED_ANONYMOUSLY 익명 사용자
IS_AUTHENTICATED_FULLY 인증된 사용자
IS_AUTHENTICATED_REMEMBERED REMEMBERED 사용자
ROLE_RESTRICTED 제한된 사용자
ROLE_USER 일반 사용자
ROLE_ADMIN 관리자
=================================================
그리고 권한(롤) 상속구조 정의(ROLES_HIERARCHY)를 아래와 같이 합니다.
아래처럼 정의된 하위 권한의 롤을 상속하기 위해 COMTNROLES_HIERARCHY Table에 상속구조를 아래의 순서대로 정의합니다.
ROLE_ANONYMOUS → IS_AUTHENTICATED_ANONYMOUSLY → IS_AUTHENTICATED_FULLY → IS_AUTHENTICATED_REMEMBERED → ROLE_RESTRICTED → ROLE_USER → ROLE_ADMIN
자세한 사항은 다음을 참조하시기 바랍니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:권한관리&s[]=authenticated
감사합니다
[답변1]
전자정부 표준 프레임워크에서는 권한관리에 대하여 URL를 기반으로 Spring Security가 적용되어 있어 로그인 하지 않고(아무권한없이 Anonymous)로 원하시는 게시판 URL에 들어가게 하시려면 해당 게시판의 URL이 ROLE_USER권한이 적용된 URL패턴(ex.\A/cop/bbs/.*\.do.*\Z)에 포함이 되지 않아야 합니다.
현재는 ROLE_USER에 위의 패턴에 포함이 되기 때문에 설정된 권한(ROLE_USER 권한)만으로 접근이 허용되는 경우입니다.
[답변2]
Spring Security에서 기본적으로 제공하는 권한은 다음과 같습니다.
=================================================
ROLE_ANONYMOUS 모든 사용자
IS_AUTHENTICATED_ANONYMOUSLY 익명 사용자
IS_AUTHENTICATED_FULLY 인증된 사용자
IS_AUTHENTICATED_REMEMBERED REMEMBERED 사용자
ROLE_RESTRICTED 제한된 사용자
ROLE_USER 일반 사용자
ROLE_ADMIN 관리자
=================================================
그리고 권한(롤) 상속구조 정의(ROLES_HIERARCHY)를 아래와 같이 합니다.
아래처럼 정의된 하위 권한의 롤을 상속하기 위해 COMTNROLES_HIERARCHY Table에 상속구조를 아래의 순서대로 정의합니다.
ROLE_ANONYMOUS → IS_AUTHENTICATED_ANONYMOUSLY → IS_AUTHENTICATED_FULLY → IS_AUTHENTICATED_REMEMBERED → ROLE_RESTRICTED → ROLE_USER → ROLE_ADMIN
자세한 사항은 다음을 참조하시기 바랍니다.
http://www.egovframe.org/wiki/doku.php?id=egovframework:권한관리&s[]=authenticated
감사합니다