Spring Security使用疑问

丨Zero丨 发布于 2016/11/28 15:54
阅读 278
收藏 1

各位大神好~

    当前使用的Spring Security是4.0.2版本。

    目前想使用Spring Security通过注解方式进行方法级别的权限校验,例如 查询方法的权限码为"1234567890" ,用户属性中有一个权限属性,如果用户权限属性中包含“1234567890”这个权限码,用户就具有查询功能。

    目前在网上查了一些文档,都是控制页面或者控制页面的方法权限都是写到xml文件中。

    请问谁有没有我这种需求的demo,我想借鉴借鉴,学习一下是怎么做的。

加载中
0
Jiems
Jiems
用户表和权限表是多对多的映射,一个用户有很多权限,一个权限可以有很多用户,查询用户是否拥有权限,直接查询的权集合,去equal你的权限码,好像是这样,
丨Zero丨
丨Zero丨
可以当做用户权限有很多个 但是方法只有一个权限 如果方法的权限在用户权限集合中,这个用户就可以进行访问这个方法做操作
0
逝水fox
逝水fox

阅读一下官方文档比较靠谱一点

1. 关于方法权限,有更好的处理方式而不是靠HTTP拦截,可以阅读这一部分(表达式需要额外读26章)

http://docs.spring.io/spring-security/site/docs/4.2.0.RELEASE/reference/htmlsingle/#ns-method-security

2. 如果HTTP的配置不想放在XML上,而是其他途径获取,可以自建一个FilterSecurityInterceptor替换原有的FILTER_SECURITY_INTERCEPTOR过滤器,关键是替换一个自己的FilterInvocationSecurityMetadataSource定义以返回拦截权限设置。(有可能还需要替换ChannelProcessingFilter,如果你牵涉http和https协议切换配置的话)

终究起来,第一个方案应该更符合你的需求


返回顶部
顶部