美文网首页
权限管理设计思路

权限管理设计思路

作者: 天然卷先生_ | 来源:发表于2020-03-04 16:29 被阅读0次

最近公司的运营管理系统开发完毕,有时间来写点东西,就先来总结一下我再权限系统的设计思路吧,希望能有点用。

权限管理分为 功能权限以及数据权限。

功能权限

功能权限是指某个用户使用某个功能的权限 ,简单的说就是调用某个接口的权限。

功能权限比较简单,主要要有三个实体:

用户:保存用户信息

角色:用户的角色信息

权限:权限信息

通过 用户绑定角色,角色绑定权限来实现对用户权限的控制,他们之间都是多对多的关系。

数据权限

数据权限就是指不同的用户,使用同样的接口得到数据数量,数据维度不同,所以数据权限又分为行级权限以及列级权限。

数据权限-行级权限

行级权限可能会涉及到层级关系,比如销售数据: 普通员工能只能看自己的销售数据

销售组长能看这个组及自己的,部门领导能看所有的。还会有跨部门的权限情况:比如财务部的任何一个人都能看销售部所有的数据。

行级数据权限表设计(主要字段):

字段1: source_type:需要配置权限的类型(角色或者部门)

字段2: source_id:角色id 或者部门id

字段3: target_type:source 能访问的目标数据的 类型(角色或者部门)

字段3: target_id:角色id或者部门id

这样一条数据的意思是,source角色或者部门下的人员能够访问target角色或者部门下人员的所有数据。

数据权限-列级权限

列级数据权限表设计(主要字段):

字段1: source_type:需要配置权限的类型(角色或者部门)

字段2: source_id:角色id 或者部门id

字段3: target_type:source 能访问的目标数据的 类型(客户列表)

字段3: target_colums:列名 逗号分隔

实现

  1. 再用户登陆的时候 将这个用户信息,权限信息,根据以上结构查出来,放到缓存里(redis)

  2. 功能权限的实现都在过滤器(filter)里面,有相应的权限才放行。

  3. 数据权限就是在各个数据接口中,根据每个用户的配置的数据权限动态生成sql ,select 中的值是列级权限的配置,where 条件中加上 行级权限的相关配置。

本文由博客群发一文多发等运营工具平台 OpenWrite 发布

相关文章

  • 权限管理设计思路

    最近公司的运营管理系统开发完毕,有时间来写点东西,就先来总结一下我再权限系统的设计思路吧,希望能有点用。 权限管理...

  • 权限管理平台设计思路

    本篇以笔者做过的一个权限管理平台为例,讲解下权限管理的设计思路。 项目背景 本次是为培训机构搭建一套信息化系统,包...

  • 数据库 权限设计

    数据库 权限设计 -系统权限管理设计-通用权限管理设计 之 数据库结构设计 权限 用户 角色 组 用户表

  • php 简单权限管理实现

    权限管理介绍、与简单实现思想 权限管理 此函数为模块访问权限管理 实现思路为:根据传进来的权限值,进入不同的权限获...

  • 权限设计:数据权限实战篇

    之前写了一篇权限设计的整理思路的文章,权限设计的难点其实是在数据管理这一块,最近刚好实战了一个项目,刚好...

  • 权限设计合集

    1.《数据权限设计思路_权限设计数据权限》摘要:方案一:按照岗位体系建立数据权限方案二:针对角色设置数据权限方案三...

  • 模型设计

    一、模型整体设计 二、模型说明 该设计参考现在比较通用的权限管理设计模式,权限管理模型包括 2.1 用户表 ...

  • 产品 | 权限设计=功能权限+数据权限

    权限设计=功能权限+数据权限 权限管理 Authority Management 目前主要是通过用户、角色、资源三...

  • 通用权限设计思路

  • 产品权限设计思路

    适用背景:企业用WEB服务中的权限设计关键词:用户角色、账号、权限、权限配置 权限的定义 一般权限配置会放在产品的...

网友评论

      本文标题:权限管理设计思路

      本文链接:https://www.haomeiwen.com/subject/gqkblhtx.html