在上一篇文章中,我们说到了 以“用户”为单位的权限设计,适用的业务场景为:适用该系统的人之中,存在很多拥有同一类权限的人。

当使用该系统的人中,当非常多的人的权限不一样时,那么以“用户”为单位的权限设计就不适用了,这时候我们需要用到以“权限”为单位的权限设计。

以“权限”为单位的权限设计

适用的业务场景

当使用该系统的人之中,很多人的权限是不一样的,那么我们需要针对单一权限进行单一的设置,这样才能方便进行统一管理设置。

举例:在一个审核系统中,拥有三级审核权限、二级审核权限、一级审核权限的人是不一样的,那么我们需要针对权限进行选择人,来进行添加设置。

如何进行设计?

1、信息架构图

用户:添加用户过程中,直接针对用户设置一个单一的权限

部门:添加部门时,填写部门基本资料即可

2、业务流程图

具体流程:添加用户时,除基本资料外,需要对用户设置权限,而添加部门时,填完基本资料即可。

3、具体原型图设计

菜单有哪些?

除去部门与管理员菜单,增加权限列表的菜单,便于管理,在之后的详情会说到这一点。

管理员添加

添加用户时,填充基本资料后,直接设置权限。

部门添加

添加部门,填写基本资料即可。

权限列表

左方是权限列表,右方为拥有该权限的用户。

交互方式:鼠标移到用户名上时,出现“X”,左键单击进行删除,点击添加管理员,出现弹窗,进行搜索管理员,可多选,为该权限添加管理员。

涉及到的点:当添加一个新用户时,针对新用户设置的权限进行提交后,该权限列表进行更新,权限对应的管理员需要添加该新用户,保持数据的统一。

为什么不直接在权限列表针对用户添加权限?

当涉及到添加新用户的业务场景时,不能在权限列表,一个一个权限地添加,效率太低。

为什么需要权限列表,难道不可以直接在用户资料中进行修改权限么?

当后台系统上线了一个新功能,需要对该功能设置权限,众多用户需要添加该用户权限,显然我一个一个去找用户修改权限的做法十分低效,那么针对权限,一次性添加众多用户,进行多选,可以解决此问题。

以“用户”与“权限”结合的权限设计

最后一种为以“用户”与“权限”结合的权限设计,任何业务场景都适用,主要的方法是:将通用的权限(指的是所有的用户拥有的权限)以及少部分人拥有的权限进行区分,分为两部分进行管理。

但是此方法的难点在于,如何区分通用权限以及少部分拥有的权限,这个界限纯粹凭人工去判断,一旦判断失误,那么此种方案的设计会有很大的问题。

总结

关于权限设计的三种方式已经剖析清楚。

目前业内最通用的还是第一种方式——针对“用户”为单位的权限设计方式,因为这符合当下大部分公司的组织架构。

而第二种权限设计方式——针对“权限”为单位的权限设计方式,这在政府机关高级机密系统中,更为适用,因为大多数人的权限是不一样的,更适用于此种方式。

最后一种,目前市场上的产品,此种方式是极少的,能走通,但可能并不是很适用。

其实,权限设计的方式,任何一种逻辑都能走通,最为关键的是我们需要根据用户使用该系统的业务场景去考虑问题,从而得出一个最优解,这是作为一个产品经理应有的思考方式。

延伸阅读:

【权限设计】一个案例,三个角色,简单说下B端产品的权限设计

【权限设计】如何以“用户”为单位的进行权限设计(一)

【权限设计】如何以“权限”为单位的进行权限设计(二)

摘自:

http://www.woshipm.com/pd/574647.html

转载于:https://www.cnblogs.com/52php/p/6277731.html

【权限设计】如何以“权限”为单位的进行权限设计(二)相关推荐

  1. 软件开发的权限系统功能模块设计,分享主流的九种常见权限模型

    软件系统的权限控制几乎是非常常见且必备的,这篇文章整理下常见的九种模型,几乎基本够你用了,主流的权限模型主要有以下9种: 1.ACL模型 访问控制列表 2.DAC模型 自主访问控制 3.MAC模型 强 ...

  2. 一个页面区分管理者和普通用户如何设计_产品经理要做的操作权限/数据权限设计...

    产品经理在工作中还需要知道一个:用户权限设计能力.权限设计理念贯穿于后台产品.以及用户前端产品. 权限能力包括两类:数据权限.系统操作权限 有的人会好奇,为什么前端产品会有有权限管理的要求?接下来我将 ...

  3. rbac模型的特点和优势_权限体系设计:融合了组织和岗位的权限模型长啥样?...

    文章从RBAC的基本原理出发,结合案例对权限设计中一个职位对应多个岗位的的情况进行了说明,并分享了相关权限模型,供大家一起参考和学习. 传统RBAC与现实的距离 传统的RBAC(基于角色的访问权限控制 ...

  4. 权限系统设计学习总结(2)——SAAS后台权限设计案例分析

    分享一个大神的人工智能教程.零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到人工智能的队伍中来!点击浏览教程  saas平台由于其本身"按需购买"的特性,在设计规划权限时,需 ...

  5. java linux 权限管理_权限管理java实现(源于Linux中的权限管理算法)

    这个帖子由来已久吧,我也是到处搜到的,然后仔细学习,果然博大精深,然后加强点弄点自己的东西 我已声明 部分转载!! 向大家介绍一种很不错,也是Linux中的权限管理算法. 定义a^b为:a的b次方 假 ...

  6. Subversion之路--实现精细的目录访问权限控制(v1.0 更新于2006.12.05)(二)

    深入 ==== 本章将详细介绍前一章所涉及的两个配置文件, svnserve.conf 和 authz.conf,通过对配置逐行的描述,来阐明其中的一些细节含义.除此之外的其他配置.安装等内容,不是本 ...

  7. antd权限管理_Ant Design Pro开发后台管理系统(权限)-阿里云开发者社区

    前言 权限是后台管理系统常见的需求,后台开发必须考虑设计的模块,antd-pro给我们提供了很好的关于权限的封装,我们只需要在配置菜单的时候配置上准入身份,在登录成功以后获取到登陆者身份以后更新登录人 ...

  8. 08-HR-权限管理模块(给员工分配角色,权限点管理页面开发,给角色分配权限,前端权限-页面访问权(路由),前端权限-按钮操作权)

    权限管理模块 RBAC的权限设计思想 采用方案: RBAC的权限模型,RBAC(Role-Based Access control) ,也就是基于角色的权限分配解决方案 权限控制目标:不同的用户登录系 ...

  9. ABP module-zero +AdminLTE+Bootstrap Table+jQuery权限管理系统第十三节--RBAC模式及ABP权限管理(附赠福利)

    ABP+AdminLTE+Bootstrap Table权限管理系统一期 Github:https://github.com/Jimmey-Jiang/ABP-ASP.NET-Boilerplate- ...

  10. 吉日嘎拉的梦想 - 做全国最好的后台权限管理系统,提高我们的软件生产率,成为权限标准组件,为软件系统的集成提供咨询服务

    软件编程走火入魔之:女人的脸,男人的代码 每天提高一点点,每天积累一点点,每天一点进步,有目标有计划的奋斗一生,每天追逐梦想,软件人生,人生软件. 为什么不自己做网站,选择博客园?为什么程序不加密?为 ...

最新文章

  1. 对联广告,带关闭,可以移动
  2. 左室短轴切面_4声窗7切面搞定急诊超声心动图:由浅入深学TTE急诊“心”事
  3. 用鸽 计算机教案,科学活动教案:鸽子
  4. Python 技术篇-sha256()加密的使用方法,sha1、md5加密方法
  5. 如何在window上把你的项目提交到github
  6. 2015-05-27 用正则把oracle时间转化到mysql时间
  7. Java教程:影响MySQL性能的配置参数
  8. Lua coroutine vs Java wait/notify
  9. C# 简单的XML读取修改写入
  10. java8实战怎么样_Java8中你可能不知道的一些地方之Stream实战
  11. (38)Gulp任务完整组合写法
  12. html画布画带百分比饼状图,echart.js如何画带百分比的饼状图
  13. 小迪渗透代码审计(柒)
  14. 使用 FireDAC的 TFDConnection, TFDQuery 最初只能显示50条记录,TDateSet.RecordCount总是获得50的解决方法。
  15. Linux中使用cp命令报cp:omitting directory错误
  16. RepMet: Representative-based metric learning for classification and few-shot object detection
  17. 水逆了一整年的王源,2020年年初能靠《大主宰》翻身吗?
  18. 常见的防御DDoS攻击的方式有哪些?
  19. Linux上的文件类型与默认图标
  20. Mybatis-plus读取(GeoJson)和保存Postgis geography数据

热门文章

  1. chrome 离线安装包下载
  2. 解决Git报“OpenSSL SSL_read: Connection was reset, errno 10054”错的问题
  3. 运行uiautomatorviewer.bat报错No suitable Java found
  4. SYN Flood应如何应对
  5. docker学习记录 docker 脚本----gitlab,nexus3(二)
  6. python ftp timeout_Python ftp client 处理含有中文的文件名详解
  7. 谁设计python_如果你有设计师朋友,请对TA好一些...
  8. long 雪花算法_Snowflake 雪花算法
  9. python基础装饰器_Python基础之装饰器
  10. maven添加mirror_Maven配置setting.xml值Mirror与Repository区别(示例代码)