Spring Boot+Spring Security+Spring Social项目开发(九):Spring Security授权表达式、重构配置方面的内容、数据库RBAC数据模型控制权限

github已经上传:https://github.com/13652493839/TiHom-Security

各位如果觉得博主写得还可以就可以给我star呀哈哈谢谢啦


Spring Boot+Spring Security+Spring Social项目开发(八):Spring Security 控制授权、源码解析
Spring Boot+Spring Security+Spring Social项目开发(七):使用JWT替换默认Token、JWT实现SSO单点登录
Spring Boot+Spring Security+Spring Social项目开发(六):开发APP认证框架、Spring Security OAuth核心源码、重构三种登录方式、重构社交登录
Spring Boot+Spring Security+Spring Social项目开发(五):微信开发、绑定与解绑、Session管理、退出登录
Spring Boot+Spring Security+Spring Social项目开发(四):使用Spring Social开发第三方登录、QQ登录开发
Spring Boot+Spring Security项目开发(三):实现短信验证码登录
Spring Boot+Spring Security项目开发(二):Spring Security、实现图形验证码功能、实现”记住我”功能
Spring Boot+Spring Security项目开发(一):RESTful API介绍


SpringSecurity的授权表达式

Spring Boot+Spring Security+Spring Social项目开发(九):Spring Security授权表达式、重构配置方面的内容、数据库RBAC数据模型控制权限_第1张图片

重构配置方面的内容

之前的一些安全配置我们是写在自己的安全模块里的,不管是在浏览器还是APP,都有针对url的安全配置,可是有些是安全模块提供的,比如登录页面还有跳转的url等等,这是可以在安全模块里面配置的,但是比如用户注册/regist或者用户信息获取的服务它实际上是demo项目提供的,也就是说是使用这个安全模块的人提供的,对这个安全模块来说,事先我们并不知道怎么使用者会怎么去用这个模块,也不知道应用会提供什么样的服务,我们要做的是把这些不属于安全模块的配置剥离出去
Spring Boot+Spring Security+Spring Social项目开发(九):Spring Security授权表达式、重构配置方面的内容、数据库RBAC数据模型控制权限_第2张图片

总的来说,上面这个图的意思是在权限模块(即安全模块)中我们去定义AuthorizeConfigProvider授权配置的提供者,在权限模块中自己做一个权限模块接口的实现,把权限模块相关的url配置都挪到实现里面.
应用A有三个模块接口的实现:1.应用A自身;2.用户模块;3.权限模块.AuthorizeConfigManager把Spring容器中所有这些模块接口的实现全都收集起来,按这些模块的授权配置最终把SpringSecurity的授权配置配置好.

数据库RBAC数据模型控制权限

Spring Boot+Spring Security+Spring Social项目开发(九):Spring Security授权表达式、重构配置方面的内容、数据库RBAC数据模型控制权限_第3张图片

自己开发模块与SpringSecurity的对接

github代码中的tihom-security-authorize

你可能感兴趣的:(企业级项目开发)