开发中常见的功能权限管理

权限管理是开发中常见的功能,聊一聊权限管理的一些东西。

1、为什么要要搞权限管理

  • 安全性,避免各种误操作,避免人为破坏,避免数据泄露,比如种种脱库事件。
  • 职责明确:各司其职,教务、市场、开发、运营、400各干各的,互不干扰,各个层级只关注自己的工作即可。
  • 数据隔离:不同的角色拥有不同权限,不同的角色只关注各个角色关心的数据。

2、核心

  • 角色级权限访问控制(Role-Based Access Control),据说用RBAC这个词上档次。
  • 功能级权限,可以做到每一个增删改查权限控制)

3、功能模块界面

一般情况下就会有权限界面,角色界面,用户界面。常用的数据表会有权限表,角色表,用户表,权限角色关联表,用户角色关联表。

4、常见的开源权限框架,Spring Security,Apache shiro 等

目前Spring Security对spring 结合较好,但是用起来还是麻烦,shiro就简单易用。

4.1 Spring Security 介绍

基于Spring的企业级权限管理框架,权限这个玩意就是个访问安全的问题。

4.2 实现原理

Spring Security 大量依赖过滤器,可以说是过滤器大集合,那具体先执行哪个后执行哪个就是由FilterChainProxy来控制的。同时还需要拦截器配合完成。

5、

Shiro 功能强大且 简单、灵活。不跟任何的框架或者容器绑定,三大组件:Subject, SecurityManager 和 Realm。我还是比较推荐用Shiro。

原文发布于微信公众号 - 猿GG编程(taipingzaixian)

原文发表时间:2019-06-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券