gpt4 book ai didi

jsf-2 - 在 j_spring_security_check 之后重定向

转载 作者:行者123 更新时间:2023-12-02 06:39:58 25 4
gpt4 key购买 nike

我能够让 spring security 一切都与以下一起工作:

<http access-denied-page="/start.jsf">
<intercept-url pattern="/start.jsf" filters="none" />
<intercept-url pattern="/web/**" access="ROLE_USER" />
<form-login login-page="/start.jsf" default-target-url="/web/user/homepage.jsf"
authentication-success-handler-ref="successHandler" always-use-default-target="true"
authentication-failure-url="/index.jsf?state=failure"/>
<logout logout-success-url="/index.jsf?state=logout" />
</http>

<beans:bean id="successHandler" class="com.myapp.security.MyAuthenticationSuccessHandler"/>

我的问题是关于 MyAuthenticationSuccessHandler 类的,在它通过身份验证后,它只是一个空白的白页。我可以使用 context.redirect() 重定向到默认主页,但是有没有办法让它自动转到默认主页?我什至在 spring xml 中列出了它。

最佳答案

这可能不起作用的原因之一是因为您的 com.myapp.security.MyAuthenticationSuccessHandler 没有扩展 org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler或在#onAuthenticationSuccess 上进行内部重定向的任何其他身份验证处理程序。

您可以通过让您的服务扩展为您做这件事而无需手动重定向来让它工作。例如……

@Service("authenticationSuccessHandler")
public class WebAuthenticationSuccessHandlerImpl extends SavedRequestAwareAuthenticationSuccessHandler {

@Override
public void onAuthenticationSuccess(HttpServletRequest request, HttpServletResponse response, Authentication authentication) throws IOException, ServletException {
//do your work here then call super so it redirects accordingly
super.onAuthenticationSuccess(request, response, authentication);
}
}

关于jsf-2 - 在 j_spring_security_check 之后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9986800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com