我有这样的数据库:
ROLE1 -> /ui/ui 1 ROLE1 -> /ui/ui 2 ROLE2 -> /ui/ui 2
如何在运行时更改ROLE2 -> /ui/ui 1?
因为我把它存储在数据库里。:(
发布于 2015-11-30 13:06:48
您可以使用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,...)");其他解决方案是利用安全过滤链中的自定义筛选器来检查身份验证、url和数据库。
https://stackoverflow.com/questions/33994723
复制相似问题