Spring Security Ant Matchers Runtime

时间:2015-11-30 08:58:42

标签: spring-security

我有这样的数据库:

  

ROLE1 - > / ui / ui1

     

ROLE1 - > / UI / UI2

     

ROLE2 - > / UI / UI2

如何更改 ROLE2 - > / ui / ui1 在运行时?

因为,我存储在数据库中。 :(

1 个答案:

答案 0 :(得分:0)

您可以使用PermissionEvaluator来检查授权和自定义您的实现,您可以在其中检查数据库并在运行时比较角色。

有关如何使用它的更多信息:http://docs.spring.io/spring-security/site/docs/4.0.3.RELEASE/reference/htmlsingle/#el-permission-evaluator

如果您不想在方法上使用注释,可以使用以下方法向Web安全性表达式spring security:intercept-url pattern access="#id == 1添加自定义方法。然后你应该能够在配置中使用它:

    http.authorizeRequests()
            .antMatchers("/url1").access("hasPermission(#user,...)");

其他解决方案是在安全过滤器链中使用自定义过滤器来检查身份验证,网址和数据库。