2012-02-14 59 views
1

是否有一个完整的例子,其中always-use-default-target用于Spring Security?特别是我在以下链接问了以下问题 “这是否意味着对于任何请求的页面,春季安全将开始检查用户是否已经登录?如果不是,那么如果你的意思是说只有/安全/小猫。 html被请求,春天会尝试检查用户是否登录,我想知道这个检查是在哪里或如何进行的?我询问的原因是我刚刚测试过,但它没有工作,我想知道如果我必须写一些重定向逻辑/secure/kittens.html?总是使用默认目标样本

Spring MVC and login redirect

回答

2

Spring将使用一个过滤器,使基于配置的安全检查。在你的春季安全配置,您需要为/secure/kittens.html(或更多)设置一个条目通用/安全)告诉spring-security用户必须被认证,或者必须具有给定的角色才能查看页面。一旦配置完成后,过滤器将检查您的规则,以便查看用户是否有权查看该页面。否则,spring-security会将它们发送到配置的登录页面。

看看configuration of spring-security,特别是截取url配置的例子,为你的url空间配置spring-security。该配置页面也有配置always-use-default-target的示例。同样,请注意,规则是​​按顺序进行评估的,因此在列表顶部的一般情况检查将在底部的特定规则之前进行匹配,因此请确保您的规则按照特定的顺序排列。

+0

完美,这就是我一直在寻找的。谢谢 – 2012-02-14 20:06:21

0

正如前面提到的,在你的春季安全配置将定义要由FilterChainProxy处理的URL的intercept-url但为了更加精确,这是RequestCacheAwareFilter将在顺序检索来自RequestCache一个SavedRequest以适当地将用户重定向到最初请求的URL。