always-use-default-target样本

时间:2012-02-14 18:05:21

标签: spring spring-mvc spring-security

是否有一个完整的示例,其中在Spring Security中使用always-use-default-target?特别是我在以下链接中提出了以下问题 “这是否意味着对于所请求的任何页面,弹簧安全性将开始检查用户是否已登录?如果不是,那么如果您的意思是仅在请求/secure/kittens.html时,弹簧将尝试检查是否用户已登录,我想知道在哪里或如何进行此检查?我问的原因是我刚刚测试但是它没有用,我想知道我是否必须在/ secure /中编写一些重定向逻辑kittens.html?

Spring MVC and login redirect

2 个答案:

答案 0 :(得分:2)

Spring将使用过滤器根据您的配置进行安全检查。在spring-security配置中,您需要为/secure/kittens.html(或更一般地/安全)设置一个条目,告诉spring-security必须对用户进行身份验证,或者必须具有给定角色才能查看页。配置完成后,过滤器将按顺序检查您的规则,以查看用户是否有权查看该页面。如果没有,spring-security会将它们发送到配置的登录页面。

查看configuration of spring-security,特别是intercept-url配置,以获取为url空间配置spring-security的示例。该配置页面还有一个配置always-use-default-target的示例。再次注意,规则是​​按顺序进行评估的,因此列表顶部的一般案例检查将在底部的特定案例之前进行匹配,因此请确保您的规则是有序的,特定于一般情况。

答案 1 :(得分:0)

如前所述,spring安全配置中的intercept-url将定义将由FilterChainProxy处理的URL,但为了更精确,它是{{1}这将从RequestCacheAwareFilter中检索SavedRequest,以便将用户适当地重定向到最初请求的网址。