spring-security 访问页面时的Java spring-boot问题

prdp8dxp  于 2022-11-11  发布在  Spring
关注(0)|答案(1)|浏览(172)

我有一个问题与Spring启动安全。问题:无法访问/getuser(403禁止)
Web配置:

protected void configure(HttpSecurity http) throws Exception {
        http
            .authorizeRequests()
                .antMatchers("/styles/**", "/error").permitAll()
                .antMatchers("/users", "/userlog").hasRole(AdminRoles.DEV.name())
                .antMatchers("/logs", "/updlog").hasAnyRole(AdminRoles.DEV.name(), AdminRoles.ADMIN.name())
                .antMatchers("/update", "/getuser", "/").hasAnyRole(AdminRoles.DEV.name(), AdminRoles.ADMIN.name(), 
                                                                                    AdminRoles.MODERATOR.name())
                .anyRequest().authenticated()
                    .and()
                .formLogin();
    }

控制器中的/getuser:

@RequestMapping("/getuser")
    public String getuser(String userData, int server, Model model) throws SQLException, Exception{
        model.addAttribute("user", base.GetUser(userData, server));
        return "index";
    }

UPD 1:我可以访问/,没有任何问题
UPD 2:我可以访问任何页面,除了返回索引的页面
更新数据3:SecurityContextHolder.getContext().getAuthentication().getAuthorities().equals("ROLE_DEV") // true

gz5pxeao

gz5pxeao1#

我在configure方法中添加了.csrf().disable(),它对我很有帮助!

相关问题