java - 如何将匹配器添加到 HttpSecurity spring web secure

标签 java spring spring-security

我尝试实现spring security,但是我有很多角色和权限,然后我想将角色动态添加到彼此的资源中。喜欢它:

@Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);


    //PageRequest p = new PageRequest(0, 1000);

    List<RolePrivilegeConfig> rolePrivilegesConfig=rolePrivilegeConfigService.findAll();

    for (RolePrivilegeConfig rolePrivilegeConfig : rolePrivilegesConfig) {

        http.authorizeRequests()
        .antMatchers("/login").permitAll()
        .antMatchers(rolePrivilegeConfig.getResource())
        .access(rolePrivilegeConfig.getRoleName())
        .anyRequest().authenticated();               
    } }

我有这个错误:

Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is java.lang.IllegalStateException: Can't configure antMatchers after anyRequest.

如何将所有匹配器和调用请求放在后面?

最佳答案

@Override
protected void configure(HttpSecurity http) throws Exception {
    super.configure(http);


    //PageRequest p = new PageRequest(0, 1000);

    List<RolePrivilegeConfig> rolePrivilegesConfig=rolePrivilegeConfigService.findAll();

    http.authorizeRequests()
        .antMatchers("/login").permitAll();

    for (RolePrivilegeConfig rolePrivilegeConfig : rolePrivilegesConfig) {

        http.authorizeRequests()
        .antMatchers(rolePrivilegeConfig.getResource())
        .access(rolePrivilegeConfig.getRoleName());
    }

    http.authorizeRequests()
        .anyRequest().authenticated();
}

关于java - 如何将匹配器添加到 HttpSecurity spring web secure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58420224/

相关文章:

java - Spring Security 记住我不工作

java - 检查整数是否为空

java - 无论我做什么,JLabel 都不显示

java - 使用spring jpa获取数据

java - Spring @ConfigurationProperties 不映射对象列表

java - Spring Security HttpSecurity 配置

java - 我可以在 Hibernate 设计时不知道字段的情况下进行 ORM 吗?

java - JSoup 未生成有效的 XHTML

spring - 如何知道当前 Web 访问者是否使用 Spring Security 3.0 登录

java - 我应该为休息 Controller 和常规 Controller 创建单独的 Spring 安全设置吗?