以下是成功登录后我必须将访问者重定向到页面的内容:
<bean id="authenticationSuccessHandler" class="org.springframework.security.web.authentication.SavedRequestAwareAuthenticationSuccessHandler" p:defaultTargetUrl="/account/quickview"/>
我想将访问者定向到具有以下 URL 的 URL:
/account/quickview/id_of_account_object
成功登录后,如何配置 Spring 安全性以将该帐户 ID 附加到“/account/quickview”?
我正在使用 Spring Security 3.1
谢谢并恭祝安康。
这是我解决这个问题的方法
我创建了 SavedRequestAwareAuthenticationSuccessHandler 的子类,并添加了一个名为temporaryTargetUrl 的属性,该属性设置为“/account/quickview”。当调用类的 onAuthenticationSuccess 时,我从主体获取主体和帐户 ID。此时,我将“/account_id”附加到temporaryTargetUrl 并调用super:
super.setDefaultTargetUrl(this.temporaryTargetUrl + "/" + account.getId());
请注意,SavedRequestAwareAuthenticationSuccessHandler 的 getDetaulTargetUrl 在 Spring 的包之外不可用,这就是我首先创建临时TargetUrl 的原因。
请随意发表评论。
谢谢!