这个问题看起来可能重复,但以下答案都没有解释何时使用:
`http
.authorizeRequests()
.antMatchers("/h2-console/**", "/user/register/**").permitAll()`
和
`web
.ignoring()
.antMatchers("/h2-console/**", "/user/register/**")`
通过阅读StackOverflow asnwers和几篇文章,我了解到:
configure(HttpSecurity)允许在资源级别配置基于web的安全性。
configure(WebSecurity)用于影响全局安全性的配置设置。使用这个URL,Spring Security过滤器链会完全忽略它。
当我使用< code>permitAll()时,它仅在我禁用了csrf: http.csrf()时才有效。disable()
因为Spring Security过滤器链仍然是活动的。
但使用<code>web。忽略()URL将被完全忽略。
仍然有很多文章使用http.permitAll()
作为/login
或/register
,就像这样和这样
所以我想了解,
为什么我们甚至应该使用http.permitAll()
来表示Un-Auth URLS,如/login
和/register
?
为什么我们不能使用 web.ignoring()
作为 /login
和 /register
?
为什么 web.ignoring()
通常用于提供静态内容,如 css
和 webjars
等,而不是 /login
和 /register
?
正如< code>@M. Deinum指出的,我正在总结答案,并且我已经在PR中更新了相同的文档。
配置(web安全性web)
此方法中使用的endpoint忽略Spring Security过滤器、标头、CSRF等。请参阅HeadersConfigrer、CsrfConfigrer。相反,如果您想保护公共endpoint免受常见漏洞的侵害,请参阅配置(HttpSecurity)
和HttpSecurity#AuthizeRequest
配置方法。
< code >配置(HttpSecurity http)
可以在此处指定需要防御常见漏洞的公共终结点。有关更多详细信息,请参阅 HttpSecurity#authorizeRequests
和 permitAll()
授权规则。
@EnableGlobalMethodSecurity(prePostEnabled=true)公共类SecurityConfig扩展了WebSecurityConfigurerAdapter{ 我错过了什么?请指教。
我写了一个模板函数,它使用了另外两个模板函数(添加 在math_functions.cpp中,我对add有不同的专门化 我还编写了一个简单的测试程序: 这段代码编译时没有任何错误,但奇怪的是,当我调用mulvadd时,调用的函数是h文件中定义的默认模板,而不是cpp文件中的专用版本。发生这种情况的原因是什么?
问题内容: 我正在开发一个使用Spring-boot,关系数据库和Elasticsearch的应用程序。 我在代码的2个不同位置使用JSON序列化: 在REST API的响应中。 当代码与Elasticsearch交互时。 我在Elasticsearch中需要一些属性,但我想向应用程序用户隐藏(例如,来自关系数据库的内部ID)。 这是一个实体的例子: 问题 :当对象持久化在Elasticsearc
问题内容: 谁能解释何时覆盖以及? 问题答案: configure(AuthenticationManagerBuilder)用于通过允许轻松添加AuthenticationProviders来建立身份验证机制:例如,以下内容定义了具有内置“用户”和“管理员”登录名的内存中身份验证。 configure(HttpSecurity)允许基于选择匹配在资源级别配置基于Web的安全性-例如,以下示例将以
有人能解释什么时候覆盖、和吗?
我在服务中使用MongoRepository。在我的例子中,我有三个字段,它们的名字是“姓名”、“年龄”和“性别”。我可以在我的界面中使用以下方法来查询数据: 现在我想用这3个字段的每一个组合来查询数据,所以我需要在这里写7 (3 3 1)方法,它真的很难看。 我试着写些 如果输入只有两个字段:name=Chris,age=18,那么我可以调用 来获取Chris和18岁的人的名单。我怎样才能实现这