security 적용 권한체크 부분
- 작성자 :
- 조*진
- 작성일 :
- 2015-02-11 17:45:31
- 조회수 :
- 1,156
- 구분 :
- 공통컴포넌트
- 진행상태 :
- 완료
Q
안녕하세요..
제가 정부프레임워크를 처음 접해봐서 아직 프로세스를 잘 이해 못했습니다..
context-security.xml 부분에서
특정 url만 exclude 시킬 수 있나요?
web.xml부분에서
<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>
위와같이 매핑되어있고
지금 하려는것은 관리자 화면을 만들어서 로그인화면을 두고
로그인에 실패했을때 다시 해당 로그인페이지로 넘겨주는것입니다.
근데
<http access-denied-page="/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false">
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/uat/uia/egovLoginUsr.do?login_error=1"
default-target-url="/uat/uia/actionMain.do"
login-page="/admin/index.do" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/EgovContent.do" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/admin/index.do" />
</http>
부분에서 시큐리티가 동작하여 로그인 페이지가 계속 호출되고 다시 시큐리티가 동작하여 또 로그인 페이지로 넘어가는게
무한적으로 반복하는것같습니다..
로그인 페이지만 제외하고 동작했으면 좋겠는데
어느부분은 설정해야할지 조언좀 부탁드립니다.
제가 정부프레임워크를 처음 접해봐서 아직 프로세스를 잘 이해 못했습니다..
context-security.xml 부분에서
특정 url만 exclude 시킬 수 있나요?
web.xml부분에서
<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>
위와같이 매핑되어있고
지금 하려는것은 관리자 화면을 만들어서 로그인화면을 두고
로그인에 실패했을때 다시 해당 로그인페이지로 넘겨주는것입니다.
근데
<http access-denied-page="/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false">
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/uat/uia/egovLoginUsr.do?login_error=1"
default-target-url="/uat/uia/actionMain.do"
login-page="/admin/index.do" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/EgovContent.do" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/admin/index.do" />
</http>
부분에서 시큐리티가 동작하여 로그인 페이지가 계속 호출되고 다시 시큐리티가 동작하여 또 로그인 페이지로 넘어가는게
무한적으로 반복하는것같습니다..
로그인 페이지만 제외하고 동작했으면 좋겠는데
어느부분은 설정해야할지 조언좀 부탁드립니다.
A
안녕하세요. 조성진님.
특정 URL에 대하여 보안을 제외시키는 방식이 아닌 특정 URL에 대하여 로그인 없이 접근할 수 있는 익명(IS_AUTHENTICATED_ANONYMOUSLY 또는 이를 상속한 ROLE_ANONOYMOUS) 권한을 부여하시는 방식으로 처리하시면 됩니다.
관련 테이블은 공통컴포넌트 기준으로 COMTNROLEINFO 와 COMTNAUTHORROLERELATE 입니다
COMTNROLEINFO 은 URL 패턴에 대한 정보를 가지고 있으며,
COMTNAUTHORROLERELATE 테이블은 위 URL 패턴에 대한 접근 권한 매핑 정보를 가지고 있습니다.
공통컴포넌트 설정 시에 사용된 script 상에는 이미 로그인 등 인증 없이 접근되어야 할 정보가 등록되어 있습니다.
확인 부탁드립니다. (script 디렉토리 하단)
그럼, 즐거운 하루되십시오.
감사합니다.
특정 URL에 대하여 보안을 제외시키는 방식이 아닌 특정 URL에 대하여 로그인 없이 접근할 수 있는 익명(IS_AUTHENTICATED_ANONYMOUSLY 또는 이를 상속한 ROLE_ANONOYMOUS) 권한을 부여하시는 방식으로 처리하시면 됩니다.
관련 테이블은 공통컴포넌트 기준으로 COMTNROLEINFO 와 COMTNAUTHORROLERELATE 입니다
COMTNROLEINFO 은 URL 패턴에 대한 정보를 가지고 있으며,
COMTNAUTHORROLERELATE 테이블은 위 URL 패턴에 대한 접근 권한 매핑 정보를 가지고 있습니다.
공통컴포넌트 설정 시에 사용된 script 상에는 이미 로그인 등 인증 없이 접근되어야 할 정보가 등록되어 있습니다.
확인 부탁드립니다. (script 디렉토리 하단)
그럼, 즐거운 하루되십시오.
감사합니다.