有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

具有Spring安全性的java REST API授权

我正在尝试使用@PreAuthorize("hasAnyRole('ADMIN')")保护我的API。为此,我实现了一个UserDetailsService来从数据库获取数据。如果您试图访问任何受保护的API,它会显示一个默认的登录表单

我所遵循的代码是https://github.com/TechPrimers/spring-security-example

我的项目正在成功运行。但当我试图在浏览器中访问我的安全API时,它不会显示登录表单

另外,我希望能够访问RESTAPI,无论是否使用授权头

本文件

https://howtodoinjava.com/spring-boot2/security-rest-basic-auth-example/

使用InMemoryAuthentication,它还可以使用浏览器和邮递员访问API。同时,我正在从我的数据库中获取数据。我如何以这种方式自定义我的实现,使其既适用于浏览器又适用于邮递员


共 (1) 个答案

  1. # 1 楼答案

    下面的代码需要一个表单来匹配通配符。antMatcher中需要开头的斜杠

            @Override
            protected void configure(HttpSecurity http) throws Exception {
                http
                        .csrf().disable()
                        .authorizeRequests()
                        .antMatchers("/**/secured/**")
                        .authenticated()
                        .and()
                        .httpBasic();
            }