접속로그 AOP가 동작 안합니다.
- 작성자 :
- 보**빵
- 작성일 :
- 2019-07-03 17:12:15
- 조회수 :
- 2,345
- 구분 :
- 개발환경
- 진행상태 :
- 완료
Q
egov-com-loginaop는 예제?랑 동일하게 구성되어 있습니다.
검색해보니 spring0security 내부호출로 인하여 서비스쪽에 다시 한번 설정해주면 된다는 글도 보고 spring/com/ 밑에 context-loginaop,xml까지
설정해봤지만 동작을 안하네요
<aop-before , after 전부 해봤는데 작동을 안합니다. aciontLogin에 before로 설정하면 되긴 하는데 로그인정보가 세션에 저장 전이라
아이디를 가져올수 없구요. actionMain에 포인트컷을 줘야하는데 작동을 안해서 여쭤봅니다.
구성은 egovframe 로그인 패키지랑 동일? 비슷하게 구성되어 있습니다.
<b:bean id="regexUrlPathMatcher"
class="org.springframework.security.util.RegexUrlPathMatcher" />
<http access-denied-page="/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false">
<!--port-mappings>
<port-mapping http="80" https="443"/>
</port-mappings-->
<intercept-url pattern="/uat/uia/actionMain.do*" access="ROLE_ANONYMOUS, ROLE_ADMIN, ROLE_USER, ROLE_WDR_USER, ROLE_LOCAL_USER, ROLE_ENTRPRS_USER, ROLE_GUARD"></intercept-url>
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/uat/uia/egovLoginUsr.do?login_error=2"
default-target-url="/uat/uia/actionMain.do"
login-page="/uat/uia/egovLoginUsr.do" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/uat/uia/egovLoginUsrRedirect.do" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/uat/uia/egovLoginUsrRedirect.do" />
</http>
context-security.xml입니다. 권한때문에 intercept-url을 추가하긴 했는데 저거때문에 그런건지..
/uat/uia/egovLoginUsr.do -> /uat/uia/actionLogin.do -> redirect:/uat/uia/actionMain.do -> /index.do
흐름은 이렇긴한데 다른 궁금한게 있습니다.
EgovSpringSecurityLoginFilter diFilter에서 로그인처리를 하는데 그럼 /uat/uia/actionLogin.do, /uat/uia/actionMain.do 여기
메소드에 기술한 로직은 작동안하나요? 브레이크포인트를 찍어봐도 지나가질 않던데요.
검색해보니 spring0security 내부호출로 인하여 서비스쪽에 다시 한번 설정해주면 된다는 글도 보고 spring/com/ 밑에 context-loginaop,xml까지
설정해봤지만 동작을 안하네요
<aop-before , after 전부 해봤는데 작동을 안합니다. aciontLogin에 before로 설정하면 되긴 하는데 로그인정보가 세션에 저장 전이라
아이디를 가져올수 없구요. actionMain에 포인트컷을 줘야하는데 작동을 안해서 여쭤봅니다.
구성은 egovframe 로그인 패키지랑 동일? 비슷하게 구성되어 있습니다.
<b:bean id="regexUrlPathMatcher"
class="org.springframework.security.util.RegexUrlPathMatcher" />
<http access-denied-page="/sec/ram/accessDenied.do" path-type="regex" lowercase-comparisons="false">
<!--port-mappings>
<port-mapping http="80" https="443"/>
</port-mappings-->
<intercept-url pattern="/uat/uia/actionMain.do*" access="ROLE_ANONYMOUS, ROLE_ADMIN, ROLE_USER, ROLE_WDR_USER, ROLE_LOCAL_USER, ROLE_ENTRPRS_USER, ROLE_GUARD"></intercept-url>
<form-login login-processing-url="/j_spring_security_check"
authentication-failure-url="/uat/uia/egovLoginUsr.do?login_error=2"
default-target-url="/uat/uia/actionMain.do"
login-page="/uat/uia/egovLoginUsr.do" />
<anonymous/>
<logout logout-url="/j_spring_security_logout" logout-success-url="/uat/uia/egovLoginUsrRedirect.do" />
<concurrent-session-control max-sessions="500" exception-if-maximum-exceeded="false" expired-url="/uat/uia/egovLoginUsrRedirect.do" />
</http>
context-security.xml입니다. 권한때문에 intercept-url을 추가하긴 했는데 저거때문에 그런건지..
/uat/uia/egovLoginUsr.do -> /uat/uia/actionLogin.do -> redirect:/uat/uia/actionMain.do -> /index.do
흐름은 이렇긴한데 다른 궁금한게 있습니다.
EgovSpringSecurityLoginFilter diFilter에서 로그인처리를 하는데 그럼 /uat/uia/actionLogin.do, /uat/uia/actionMain.do 여기
메소드에 기술한 로직은 작동안하나요? 브레이크포인트를 찍어봐도 지나가질 않던데요.
A
안녕하세요.
표준프레임워크센터 입니다.
표준프레임워크 버전이 명시되어 있지않아
v3.8을 기준으로 설명을 드리겠습니다.
표준프레임워크센터에서 제공하는
시큐리티 간소화서비스를 사용하신다면
Filter에서 로그인 처리를 하게 되고 .do를 사용하지 않습니다.
EgovWebApplicationInitializer.java에 보시면
다음과 같은 Filter정의를 확인할수 있습니다.
FilterRegistration.Dynamic egovSpringSecurityLoginFilter = servletContext.addFilter("egovSpringSecurityLoginFilter", new EgovSpringSecurityLoginFilter());
Controller쪽에 대한 AOP설정이면
커스텀 하지 않으셨다면 다음위치에 정의해야
정상적으로 동작하지 않을까 예상됩니다.
/src/main/webapp/WEB -INF/config/egovframework/springmvc
감사합니다.
표준프레임워크센터 입니다.
표준프레임워크 버전이 명시되어 있지않아
v3.8을 기준으로 설명을 드리겠습니다.
표준프레임워크센터에서 제공하는
시큐리티 간소화서비스를 사용하신다면
Filter에서 로그인 처리를 하게 되고 .do를 사용하지 않습니다.
EgovWebApplicationInitializer.java에 보시면
다음과 같은 Filter정의를 확인할수 있습니다.
FilterRegistration.Dynamic egovSpringSecurityLoginFilter = servletContext.addFilter("egovSpringSecurityLoginFilter", new EgovSpringSecurityLoginFilter());
Controller쪽에 대한 AOP설정이면
커스텀 하지 않으셨다면 다음위치에 정의해야
정상적으로 동작하지 않을까 예상됩니다.
/src/main/webapp/WEB -INF/config/egovframework/springmvc
감사합니다.