栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

根据Spring Security 3.1中的角色确定目标URL

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

根据Spring Security 3.1中的角色确定目标URL

根据角色确定目标URL的最佳方法是在Spring Security配置中指定目标URL,如下所示。这将在Spring 3.0或3.1中运行

<http>    ...     <form-login login-page="/login" default-target-url="/default"/></http>

然后创建一个处理default-target-url的控制器。控制器应根据侧滚进行重定向或转发。下面是使用Spring MVC的示例,但是任何类型的控制器都可以使用(例如Struts,Servlet等)。

@Controllerpublic class DefaultController {    @RequestMapping("/default")    public String defaultAfterLogin(HttpServletRequest request) {        if (request.isUserInRole("ROLE_ADMIN")) { return "redirect:/users/sessions";        }        return "redirect:/messages/inbox";    }}

这种方法的优点是它不与任何特定的Security实现耦合,不与任何特定的MVC实现耦合,并且可以与Spring Security命名空间配置一起轻松使用。完整的示例可以在我今年在SpringOne上提出的SecureMail项目中找到。

另一种选择是你可以创建一个自定义AuthenticationSuccessHandler。该实现可能扩展SavedRequestAwareAuthenticationSuccessHandler,它是默认的AuthenticationSuccessHandler。然后可以使用命名空间将其连接,如下所示。

<sec:http>    <sec:form-login authentication-success-handler-ref="authSuccessHandler"/></sec:http><bean:bean />

我不建议这样做,因为它与Spring Security API有关,最好在可能的情况下避免这样做。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/411243.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号