로그인 없이는 어떠한 페이지도 접근불허하고 무조건 로그인 페이지로 보내려고합니다.
- 작성자 :
- 공*철
- 작성일 :
- 2013-09-26 02:32:05
- 조회수 :
- 787
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
로그인 없이는 어떠한 페이지도 접근불허하고 무조건 로그인 페이지로 보내려고합니다.
egov > template project > portal site
로 신규웹프로젝트 생성 후 기본적으로 제공되는 쿼리로 db 구성하면서
롤 관련해서만 접근제한을 둘 목적으로
아래처럼 롤정보 1건과 권한롤관계 1건만 등록했습니다.
그런데...
이렇게도 저렇게도 암만 해봐도...
로그인 하지 않은 상태에서도 모든 페이지 접근이 가능합니다.
도데체 뭐가 문제일까요?
이것때문에 며 칠을 낭비중입니다...
더 이상 낭비할 시간 여유가 없는데요...
해결방안을 좀 알려주시면 감사하겠습니다...
context-security.xml
는 기본설정을 전혀 변경하지 않았기에 아래와 같습니다.
-------------------------------------------------------------
<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="/index.jsp?flag=L" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/index.jsp" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/index.jsp" />
</http>
db 기본값 중 권한롤은 아래처럼 롤정보 1건과 권한롤관계 1건만 등록했습니다.
의도 : 모든 접근은 반드시 관리자 권한이 있어야 접근 가능해야함.
---------------------------------------------------------------------------
# 권한정보
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_ADMIN','관리자','관리자','2011-08-11 15:31:59');
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_ANONYMOUS','오픈기능','오픈기능','2011-08-11 15:31:59');
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_USER_MEMBER','담당자','회원','2011-08-11 15:31:59');
# 권한(롤)계층정보
insert into HS_TBL_NROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) values ('ROLE_USER_MEMBER','ROLE_ADMIN');
insert into HS_TBL_NROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) values ('ROLE_ANONYMOUS','ROLE_USER_MEMBER');
# 롤정보
insert into HS_TBL_NROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) values ('all','all','\A/.*\.do.*\Z','모든 페이지','url','1','2011-08-24 00:00:00');
# 권한롤관계(권한별 롤 관계)
insert into HS_TBL_NAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) values ('ROLE_ADMIN','all','2009-08-25 00:00:00');
egov > template project > portal site
로 신규웹프로젝트 생성 후 기본적으로 제공되는 쿼리로 db 구성하면서
롤 관련해서만 접근제한을 둘 목적으로
아래처럼 롤정보 1건과 권한롤관계 1건만 등록했습니다.
그런데...
이렇게도 저렇게도 암만 해봐도...
로그인 하지 않은 상태에서도 모든 페이지 접근이 가능합니다.
도데체 뭐가 문제일까요?
이것때문에 며 칠을 낭비중입니다...
더 이상 낭비할 시간 여유가 없는데요...
해결방안을 좀 알려주시면 감사하겠습니다...
context-security.xml
는 기본설정을 전혀 변경하지 않았기에 아래와 같습니다.
-------------------------------------------------------------
<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="/index.jsp?flag=L" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/index.jsp" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/index.jsp" />
</http>
db 기본값 중 권한롤은 아래처럼 롤정보 1건과 권한롤관계 1건만 등록했습니다.
의도 : 모든 접근은 반드시 관리자 권한이 있어야 접근 가능해야함.
---------------------------------------------------------------------------
# 권한정보
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_ADMIN','관리자','관리자','2011-08-11 15:31:59');
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_ANONYMOUS','오픈기능','오픈기능','2011-08-11 15:31:59');
insert into HS_TBL_NAUTHORINFO(AUTHOR_CODE,AUTHOR_NM,AUTHOR_DC,AUTHOR_CREAT_DE) values ('ROLE_USER_MEMBER','담당자','회원','2011-08-11 15:31:59');
# 권한(롤)계층정보
insert into HS_TBL_NROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) values ('ROLE_USER_MEMBER','ROLE_ADMIN');
insert into HS_TBL_NROLES_HIERARCHY(PARNTS_ROLE,CHLDRN_ROLE) values ('ROLE_ANONYMOUS','ROLE_USER_MEMBER');
# 롤정보
insert into HS_TBL_NROLEINFO(ROLE_CODE,ROLE_NM,ROLE_PTTRN,ROLE_DC,ROLE_TY,ROLE_SORT,ROLE_CREAT_DE) values ('all','all','\A/.*\.do.*\Z','모든 페이지','url','1','2011-08-24 00:00:00');
# 권한롤관계(권한별 롤 관계)
insert into HS_TBL_NAUTHORROLERELATE(AUTHOR_CODE,ROLE_CODE,CREAT_DT) values ('ROLE_ADMIN','all','2009-08-25 00:00:00');
A
안녕하세요. 공현철님
해당 쿼리에 특수문자를 DB에 직접 입력시
\A/.*\.do.*\Z -> \\A/.*\\.do.*\\Z
로 입력해 주시기 바랍니다.
고맙습니다.
해당 쿼리에 특수문자를 DB에 직접 입력시
\A/.*\.do.*\Z -> \\A/.*\\.do.*\\Z
로 입력해 주시기 바랍니다.
고맙습니다.