[SPRING] Spring 보안이 인증 성공 후 default-target-url을 치지 않음
SPRINGSpring 보안이 인증 성공 후 default-target-url을 치지 않음
내 응용 프로그램에서 spring-security를 구현했습니다. spring-security.xml에는 form-login 태그가 있습니다.
<form-login login-page="/login.htm" default-target-url="/dashboard.htm"
authentication-failure-url="/login.htm?error=true"
authentication-success-handler-ref="authenticationSuccessHandler" />
/login.htm에서 로그인하고 성공적인 authetication 후에 사용자가 dashboard.htm을 치길 원합니다. Everythig는 성공한 authetication 후에 /dashboard.htm을 치지 않지만 컨텍스트에 도달한다는 사실을 제외하고는 정상적으로 작동합니다.하지만 수동으로 dashboard.htm을 입력하면 모든 것이 올바르게 작동합니다 ... 예 .. authticationSuccessHandler 구현.
해결법
-
==============================
1.default-target-url 속성을 제거하고 다음을 추가하십시오.
default-target-url 속성을 제거하고 다음을 추가하십시오.
<b:bean id="authenticationSuccessHandler" class="com.example.CustomSimpleURLAuthenticationSuccessHandler"> <b:property name="defaultTargetUrl" value="/dashboard.htm"/> </b:bean>
-
==============================
2.
<beans:bean id="loginSuccessHandler" class="com.example.LoginSuccessHandler"> <beans:property name="defaultTargetUrl" value="/security/success"/> <beans:property name="alwaysUseDefaultTargetUrl" value="true"/> </beans:bean> public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler { @Override public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws ServletException, IOException { request.getSession().setMaxInactiveInterval(60 * 60); //one hour System.out.println("Session set up for 60min"); super.onAuthenticationSuccess(request, response, authentication); } }
-
==============================
3.나는 봄이 기본 대상 URL로 리디렉션되지 않는 질문에서이 제안을 사용합니다. 나는 이것을 시도하고 그것이 효과가있다.
나는 봄이 기본 대상 URL로 리디렉션되지 않는 질문에서이 제안을 사용합니다. 나는 이것을 시도하고 그것이 효과가있다.
<form-login login-page="/login.htm" default-target-url="/dashboard.htm" always-use-default-target="true"/>
-
==============================
4.이미지에서 볼 수 있듯이 나쁜 디자인이 있습니다 (IMO는 항상 default-target-url로 리디렉션됩니다). 금지 된 리소스에서 로그인 양식으로 이동하면 해당 URL로 리디렉션되고 default-target-url을 통해 이동하지 않습니다
이미지에서 볼 수 있듯이 나쁜 디자인이 있습니다 (IMO는 항상 default-target-url로 리디렉션됩니다). 금지 된 리소스에서 로그인 양식으로 이동하면 해당 URL로 리디렉션되고 default-target-url을 통해 이동하지 않습니다
http://i.stack.imgur.com/fj9ou.png
from https://stackoverflow.com/questions/9672850/spring-security-not-hitting-default-target-url-after-successful-authtication by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Spring HandlerMethodArgumentResolver가 실행되지 않습니다. (0) | 2019.01.21 |
---|---|
[SPRING] 자바 커스텀 / 단순 태그에 스프링 관리 빈을 주입하는 우아한 방법이 있는가? (0) | 2019.01.21 |
[SPRING] JPA 2.0에서 엔티티 자동 검색 방법 (0) | 2019.01.20 |
[SPRING] spring jpa 문서 관리자 응용 프로그램에서 저장하지 않는 문서 (0) | 2019.01.20 |
[SPRING] Spring 부트로 JAR 패키징으로 JSP를 제공 할 수 있습니까? (0) | 2019.01.20 |