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

不带会话和CSRF的Spring Boot Web应用程序,不带CSRF的无状态基本身份验证

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

不带会话和CSRF的Spring Boot Web应用程序,不带CSRF的无状态基本身份验证

因此,我终于再次回到研究这个问题,结果发现解决方案几乎和我期望的一样简单。解决方案是有两个

WebSecurityConfigurerAdapter
类。此处描述:

http://docs.spring.io/spring-
security/site/docs/3.2.x/reference/htmlsingle/#multiple-
httpsecurity

执行此操作时需要注意两件事:

  1. 这些
    WebSecurityConfigurerAdapter
    类必须具有不同的
    @Order
    值。因此,我用注释了其中一个
    @Order(1)
    ,迫使在处理HTTP请求时首先对其进行评估。在我的情况下,哪一个首先并不重要,它们必须有所不同。
  2. 这两种
    HttpSecurity
    配置需要应用于不同的URL。这是通过使用
    antMatcher()
    每个值来完成的。鉴于提供给的值
    @RequestMapping
    可以是一个URL数组,仍然有可能只有一个REST控制器方法来处理对两个URL的请求。

因此,它们是:

@Configuration@EnableWebSecurity@Order(1)public class APISecurityConfig extends WebSecurityConfigurerAdapter {    @Override    @Order(1)    protected void configure(HttpSecurity http) throws Exception {        http.antMatcher("/api/**")     .authorizeRequests()     .anyRequest().fullyAuthenticated().and()     .httpBasic().and()     .csrf().disable();    }}

@Configuration@EnableWebSecuritypublic class UISecurityConfig extends WebSecurityConfigurerAdapter {    @Override    protected void configure(HttpSecurity http) throws Exception {        http.authorizeRequests()     .antMatchers("/ui/**").authenticated();    }}


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

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

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