当前位置: 首页 > 知识库问答 >
问题:

Spring Boot+安全+多HTTP Web配置

滑乐逸
2023-03-14

我使用的配置如下:

@Configuration
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
@EnableGlobalAuthentication
@EnableGlobalMethodSecurity(securedEnabled = true)
public class WebSecurityConfiguration { 

@Autowired
protected void configureGlobal(AuthenticationManagerBuilder auth) throws Exception { 
    auth
        .inMemoryAuthentication()
            .withUser("user").password("12345").roles("USER").and()
            .withUser("admin").password("12345").roles("USER", "ADMIN");
}

@Configuration
@Order(1)
public static class ApiConfigurationAdapter extends
        WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .antMatcher("/api/**")
            .authorizeRequests()
                .anyRequest().hasRole("ADMIN")
                .and()
            .httpBasic();
    }
}

@Configuration
@Order(2)
public static class WebConfigurationAdapter extends
        WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web
            .ignoring()
                .antMatchers("/resources/**");
    }

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()                    
                .antMatchers("/", "/home").permitAll()
            .anyRequest()
                .authenticated()
            .and()
                .formLogin()
                    .loginPage("/login").permitAll()
            .and()
                .logout().permitAll();
    }
    }
}

提前致谢

共有1个答案

暨宸
2023-03-14

我也面临着同样的问题。但是当我从WebSecurityConfigurerAdapter扩展WebSecurityConfiguration主类时,这个问题得到了解决。

请参考下面的stackoverflow文章,您可以在其中找到完整的配置。

用于RESTFul的Spring Security HTTP Basic和用于web注释的FormLogin

 类似资料:
  • 一、简介 此配置,可设置后台登陆最大失败次数,以防密码被试出。 其它配置相对简单不在详述。 二、功能演示 如图:

  • 我在SpringBoot应用程序中实现了多语言,在完成以下配置后,我得到的属性文件无法加载 文件夹名称 src/main/resources/i18n/messages 属性文件名 messages_us.properties 在应用程序主类 内部控制器 标题 接受-语言:我们 我明白了 [36mo.s.c.s.ResourceBundleMessageSource[0;39m[2m:[0;39m

  • 本任务将演示如何通过使用Istio认证提供的服务账户,来安全地对服务做访问控制。 当Istio双向TLS认证打开时,服务器就会根据其证书来认证客户端,并从证书获取客户端的服务账户。服务账户在source.user的属性中。请参考Istio auth identity了解Istio中服务账户的格式。 开始之前 根据quick start的说明在开启认证的Kubernetes中安装Istio。注意,应

  • 然后我使用相同的公式来解密密码,通过尝试所有可能的子字符串组合,直到找到正确的一个。 我的问题是A.除了可能的性能问题之外,这种方法还会带来什么危险? B.这种方法是否矫枉过正,像这样加盐和存储盐/密码有必要吗?c.如果没有必要,我还可以使用什么其他方法来加盐和存储盐/密码?

  • pom.xml Spring Security配置 application-local.yml 我得到这个结果。 无法呈现此定义提供的定义未指定有效的版本字段。 请注明有效的或版本字段。支持的版本字段是swagger: 2.0和与openapi: 3.0. n匹配的版本字段(例如,openapi: 3.0.0)。

  • 我无法在注释中使用方法。还有给出。我错过了什么?尽管工作正常。 我正在从数据库中为用户分配权限。