使用 Spring Security 登录后重定向到不同的页面
Posted
技术标签:
【中文标题】使用 Spring Security 登录后重定向到不同的页面【英文标题】:Redirect to different pages after Login with Spring Security 【发布时间】:2014-07-11 20:43:42 【问题描述】:如何在登录后将不同类型的用户重定向到不同的页面。 例如,将标准用户重定向到 /homepage.html 页面,将管理员用户重定向到 /admin.html 页面。 请注意,我使用的是 struts2、spring、hibernate 和 spring security。 任何帮助表示赞赏。
【问题讨论】:
redirect to a special space following the role of user spring security 的可能重复项 创建自定义身份验证成功处理程序。 我正在尝试这样做,但它对我不起作用我将在答案中添加代码 如果它不起作用,请将其添加到您的问题中。并且不要多次问同一个问题。 【参考方案1】:MyAction.class
public String execute() throws Exception
if(user=="home_user")
return "home";
else if(user=="admin_user")
return "admin";
else
return "guest";
你的 struts.xml
<action name="login" class="controller.MyAction">
<result name="home">home.jsp</result>
<result name="admin">admin.jsp</result>
<result name="guest">guest.jsp</result>
</action>
试试吧..
【讨论】:
【参考方案2】:您可以执行类似自定义loginInterceptor
之类的操作,它会检查有效登录,然后返回不同的Action.SUCCESS_ADMIN
,这会将您重定向到您想要的页面
<action name="login" class="login">
<result name="success">home.jsp</result>
<result name="sucess_admin> admin.html>
<interceptor-ref name="loginInterceptor"></interceptor-ref>
</action>
你的行为的定义显然与我的行为有所不同,那只是我从我的项目中获取的一个,以进一步解释我的建议。
【讨论】:
以上是关于使用 Spring Security 登录后重定向到不同的页面的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Security 中的 SSO 登录后重定向我的上一页?
Grails 2 Spring Security Plugin - 成功登录后重定向到 /login/denied
Spring Security:登录后如何重定向到 REST url