从数据库获取URL及其在Java文件中的角色后的URL访问安全性

时间:2018-07-06 06:07:09

标签: java spring-mvc

我的security.xml

具有春季安全保护

我想要的是:

  • 我正在从数据库中获取URL及其角色
  • 现在,我想在检查它们在Java文件中的角色之后授予对这些URL的访问权限

如何通过Spring Security实现这一目标?

2 个答案:

答案 0 :(得分:0)

您可以使用其中任何一个

@Secured(“ ROLE_ADMIN”)

@RolesAllowed(“ ROLE_ADMIN”)// JSR-250的注释

@PreAuthorize(“ hasRole('ROLE_ADMIN')”)

如果要从数据库检查角色,则必须使用Spring AOP概念

答案 1 :(得分:0)

有多种方法可以做到这一点。

解决方案1:xml配置(ApplicationContextSecurity.xml

<intercept-url pattern="/**" access="hasAnyRole('ROLE_ROOT_ADMIN','ROLE_ADMIN','ROLE_USER')" />

在这里您可以用URL替换**。

解决方案2:将@PreAuthorize("hasRole('ROLE_ROOT_ADMIN')")放在将在URL上调用的控制器方法的顶部。

注意:方法2最适合您,因为您是从数据库动态获取URL。如果您已经预定义了网址和访问权限,则方法1最好。