当前位置: 首页 > article >正文

OAuth2资源服务器白名单接口带token被拦截

在资源服务器的配置中,添加了请求白名单,如下
@Configuration
@EnableResourceServer
public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
    @Autowired
    private OAuth2Properties properties;
    @Override
    public void configure(HttpSecurity http) throws Exception {
        http
                .authorizeRequests()
                .antMatchers("/test/**").permitAll()
                .anyRequest().authenticated()
                .and()
                .csrf().disable(); 
    }
    @Bean
    public RemoteTokenServices tokenServices() {
        RemoteTokenServices services = new RemoteTokenServices();
        services.setCheckTokenEndpointUrl(properties.getTokenInfoUri());
        services.setClientId(properties.getClientId());
        services.setClientSecret(properties.getClientSecret());
        return services;
    }
}

测试controller

@RestController
@RequestMapping("/test")
public class TestController {
    @PostMapping("/test1")
    public String test1() {
        System.out.println(123);
        return "123";
    }
    @PostMapping("/test2")
    public String test2() {
        System.out.println(333);
        return "222333";
    }
}

当使用postman正常请求http://localhost:8109/test/test2时,能获取到返回结果

但当请求添加上请求头时(这里是前端做了统一的处理,到后端的请求会统一携带Authorization等token信息),但是对于我的资源服务接口来说,我不想管前端的请求是否携带请求头token,都想根据白名单不进行oauth2的鉴权操作,但是实际是这样还是会触发鉴权

可以通过重写WebSecurityConfigurerAdapter的 configure()方法,使白名单请求不受Spring Security的保护。这样即使请求中包含Authorization头,也不会触发鉴权(在资源服务器中添加)。

@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {
    @Override
    public void configure(WebSecurity web) throws Exception {
        web.ignoring().antMatchers("/test/test2");
    }
}


http://www.kler.cn/a/409230.html

相关文章:

  • 部署自动清理任务解决ORA-00257: archiver error. Connect internal only, until freed
  • 学习编程,学习中间件,学习源码的思路
  • 服务机器人三甲坎德拉:用智能化开启售后服务新篇章
  • 如何搭建C++环境--1.下载安装并调试Microsoft Visual Studio Previerw(Windows)
  • Mac 修改默认jdk版本
  • VMware Workstation 17.6.1
  • GPU服务器厂家:科研服务器领域机遇与博弈,AMD 新UDNA 架构
  • C++初阶(十五)--STL--list 的深度解析与全面应用
  • C++二级:计算矩阵边缘元素之和
  • 《硬件架构的艺术》笔记(五):低功耗设计
  • 【Android】android compat理解
  • 07-SpringCloud-Gateway新一代网关
  • Cross-Site Scripting(XSS)攻击
  • MassTransit中文文档
  • MATLAB神经网络(五)——R-CNN视觉检测
  • 什麼是ISP提供的公共IP地址?
  • 低成本TYPE-C转DP线
  • 企业OA系统:Spring Boot技术实现与管理
  • 对传统加密算法降维打击?!——量子计算
  • springMVC重点知识
  • Centos-stream 9,10 add repo
  • 对元素为 pair 的数组的各元素进行排序的方法
  • 基于之前的秒杀功能的优化(包括Sentinel在SpringBoot中的简单应用)
  • 学习记录:js算法(一百零二):使用最小花费爬楼梯
  • 9.10Ubuntu网络编程环境配置,已解决
  • 力扣 41. 缺失的第一个正数