始终使用默认的目标样本(always-use-default-target sample)

2019-10-16 13:46发布

是否有一个地方总是使用默认的目标是在春季安全使用一个完整的例子吗? 特别是我曾问在以下链接“以下问题这是否意味着任何页面请求的春季安全将开始检查用户是否已经登录?如果没有,那么你的意思是说,只有当/secure/kittens.html被请求时,弹簧将尝试检查,如果用户登录,我想知道在哪里,这个检查是怎么做呢?原因,我问的是我只是测试,但它没有工作,我想知道,如果我必须写在/secure/kittens.html一些重定向逻辑?

Spring MVC和登录重定向

Answer 1:

Spring将使用一个过滤器,使基于配置的安全检查。 在你的春季安全配置,您将需要设置为/secure/kittens.html一个条目(或者更一般/安全)告诉弹簧安全,用户必须进行身份验证,或者必须以查看有一个给定角色页。 一旦配置了过滤器将检查对你的规则,有序,看用户是否有权限查看的页面。 如果不是这样,弹簧安全将它们发送到配置的登录页面。

看一看在春季安全配置 ,具体配置Spring安全性您的网址空间的例子拦截的URL配置。 该配置页面还配置总是使用默认目标的一个例子。 再次注意,规则按顺序进行评估,因此在列表的顶部一般情况下检查将在底部的特定的人之前进行匹配,所以一定要确保你的规则是为了,特殊到一般。



Answer 2:

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



文章来源: always-use-default-target sample