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

按url和角色列出的安全问题

杨经武
2023-03-14

在一个扩展WebSecurityConfigureAdapter的类中,我使用以下代码通过url为不同的角色添加安全性。

    http.authorizeRequests().antMatchers(HttpMethod.GET, "/rest/setup/defaultpassword/**").hasRole("USER");
    http.authorizeRequests().antMatchers(HttpMethod.GET, "/rest/setup/commerces/**").hasRole("USER");
    http.authorizeRequests().antMatchers(HttpMethod.GET, "/rest/setup/tax").hasRole("USER");

    http.authorizeRequests().antMatchers("/rest/setup/tax").hasRole("ADMIN");
    http.authorizeRequests().antMatchers("/login").permitAll(); //
    http.authorizeRequests().antMatchers("/rest/**").authenticated();
    http.csrf().disable();
    http.exceptionHandling().authenticationEntryPoint(authenticationEntryPoint);

    http.formLogin().successHandler(authenticationSuccessHandler);
    http.formLogin().failureHandler(authenticationFailureHandler);
    http.logout().logoutUrl("/logout");
    http.logout().logoutSuccessUrl("/");

当我以用户角色登录时,我可以访问:/rest/setup/tax

当我使用管理员角色登录时,我可以访问 /rest/setup/tax

http://localhost:8080/rest/setup/tax403(禁止)

我搜索只提供get for user角色和admin one的所有内容。

共有1个答案

明正德
2023-03-14

表权限将有两列,如用户名、权限,列权限中指定的角色应带有前缀role\uu,例如role\u ADMIN

更新:

  1. RoleVoter。爪哇

https://github.com/spring-projects/spring-security/blob/master/core/src/main/java/org/springframework/security/access/vote/RoleVoter.java

Spring security在所有角色名称中添加了前缀“ROLE\uu”?

 类似资料:
  • 我的Spring Security性有问题,因为当我登录到这个站点时,我无法通过角色admin访问url。这是我的安全配置 我试图与hasRole, hasAuthure, hasAny权威,但不工作,只有工作许可所有,但我不想访问的东西url用户与角色用户 这是我的登录控制器 我在数据库中有两个用户,一个是角色管理员,第二个是角色用户,但这不起作用,有人能解释为什么吗? https://gith

  • 我正在努力学习Symfony的角色和安全性。我当前的security.yml文件如下所示: 我正在为我的用户使用这个设置: 这是我的问题。我一直缺少安全性的访问控制部分,但是,角色标记为ROLE\u admin的路径将允许用户person访问路由,即使该用户没有ROLE\u admin的角色。我想知道这是否是因为路由本身与路由由同一控制器共享?或者有人看到我的代码哪里出了问题,因为用户可以访问他们

  • 问题内容: 我想为具有以下角色之一(ROLE1或ROLE2)的用户定义某些页面的访问权限 我正在尝试在我的spring security xml文件中进行如下配置: 我尝试了各种方法,例如: 等等 但似乎没有任何效果。 我一直在例外 要么 应该如何配置? 谢谢 问题答案: 问题是我配置了自定义 ,但没有通过其中一名选民。 通过添加到bean中来解决。

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

  • 我试图保护我的Spring启动应用程序(1.21)看起来像我的antMatcher("/报告**"). hasRole("报告")的一些URL模式被忽略。 e、 g.如果我浏览到localhost:9000/report/books之类的内容,我需要登录,它只适用于我的用户名密码组合,但我没有将角色报告设置为我的用户“user”。所以我希望我不被允许访问报告网站,但页面会显示出来。 我必须如何更改

  • 我正在试图理解一些Spring Security代码。我也是Spring Security的新手,我想我在这里遗漏了一些基本的东西。 谢谢,雷。