【权限设计】如何以“权限”为单位的进行权限设计(二)
2017-01-12 12:55
387 查看
在上一篇文章中,我们说到了 以“用户”为单位的权限设计,适用的业务场景为:适用该系统的人之中,存在很多拥有同一类权限的人。
当使用该系统的人中,当非常多的人的权限不一样时,那么以“用户”为单位的权限设计就不适用了,这时候我们需要用到以“权限”为单位的权限设计。
举例:在一个审核系统中,拥有三级审核权限、二级审核权限、一级审核权限的人是不一样的,那么我们需要针对权限进行选择人,来进行添加设置。
用户:添加用户过程中,直接针对用户设置一个单一的权限
部门:添加部门时,填写部门基本资料即可
2、业务流程图
具体流程:添加用户时,除基本资料外,需要对用户设置权限,而添加部门时,填完基本资料即可。
3、具体原型图设计
菜单有哪些?
除去部门与管理员菜单,增加权限列表的菜单,便于管理,在之后的详情会说到这一点。
管理员添加
添加用户时,填充基本资料后,直接设置权限。
部门添加
添加部门,填写基本资料即可。
权限列表
左方是权限列表,右方为拥有该权限的用户。
交互方式:鼠标移到用户名上时,出现“X”,左键单击进行删除,点击添加管理员,出现弹窗,进行搜索管理员,可多选,为该权限添加管理员。
涉及到的点:当添加一个新用户时,针对新用户设置的权限进行提交后,该权限列表进行更新,权限对应的管理员需要添加该新用户,保持数据的统一。
为什么不直接在权限列表针对用户添加权限?
当涉及到添加新用户的业务场景时,不能在权限列表,一个一个权限地添加,效率太低。
为什么需要权限列表,难道不可以直接在用户资料中进行修改权限么?
当后台系统上线了一个新功能,需要对该功能设置权限,众多用户需要添加该用户权限,显然我一个一个去找用户修改权限的做法十分低效,那么针对权限,一次性添加众多用户,进行多选,可以解决此问题。
但是此方法的难点在于,如何区分通用权限以及少部分拥有的权限,这个界限纯粹凭人工去判断,一旦判断失误,那么此种方案的设计会有很大的问题。
目前业内最通用的还是第一种方式——针对“用户”为单位的权限设计方式,因为这符合当下大部分公司的组织架构。
而第二种权限设计方式——针对“权限”为单位的权限设计方式,这在政府机关高级机密系统中,更为适用,因为大多数人的权限是不一样的,更适用于此种方式。
最后一种,目前市场上的产品,此种方式是极少的,能走通,但可能并不是很适用。
其实,权限设计的方式,任何一种逻辑都能走通,最为关键的是我们需要根据用户使用该系统的业务场景去考虑问题,从而得出一个最优解,这是作为一个产品经理应有的思考方式。
延伸阅读:
【权限设计】一个案例,三个角色,简单说下B端产品的权限设计
【权限设计】如何以“用户”为单位的进行权限设计(一)
【权限设计】如何以“权限”为单位的进行权限设计(二)
摘自:
http://www.woshipm.com/pd/574647.html
当使用该系统的人中,当非常多的人的权限不一样时,那么以“用户”为单位的权限设计就不适用了,这时候我们需要用到以“权限”为单位的权限设计。
以“权限”为单位的权限设计
适用的业务场景
当使用该系统的人之中,很多人的权限是不一样的,那么我们需要针对单一权限进行单一的设置,这样才能方便进行统一管理设置。举例:在一个审核系统中,拥有三级审核权限、二级审核权限、一级审核权限的人是不一样的,那么我们需要针对权限进行选择人,来进行添加设置。
如何进行设计?
1、信息架构图用户:添加用户过程中,直接针对用户设置一个单一的权限
部门:添加部门时,填写部门基本资料即可
2、业务流程图
具体流程:添加用户时,除基本资料外,需要对用户设置权限,而添加部门时,填完基本资料即可。
3、具体原型图设计
菜单有哪些?
除去部门与管理员菜单,增加权限列表的菜单,便于管理,在之后的详情会说到这一点。
管理员添加
添加用户时,填充基本资料后,直接设置权限。
部门添加
添加部门,填写基本资料即可。
权限列表
左方是权限列表,右方为拥有该权限的用户。
交互方式:鼠标移到用户名上时,出现“X”,左键单击进行删除,点击添加管理员,出现弹窗,进行搜索管理员,可多选,为该权限添加管理员。
涉及到的点:当添加一个新用户时,针对新用户设置的权限进行提交后,该权限列表进行更新,权限对应的管理员需要添加该新用户,保持数据的统一。
为什么不直接在权限列表针对用户添加权限?
当涉及到添加新用户的业务场景时,不能在权限列表,一个一个权限地添加,效率太低。
为什么需要权限列表,难道不可以直接在用户资料中进行修改权限么?
当后台系统上线了一个新功能,需要对该功能设置权限,众多用户需要添加该用户权限,显然我一个一个去找用户修改权限的做法十分低效,那么针对权限,一次性添加众多用户,进行多选,可以解决此问题。
以“用户”与“权限”结合的权限设计
最后一种为以“用户”与“权限”结合的权限设计,任何业务场景都适用,主要的方法是:将通用的权限(指的是所有的用户拥有的权限)以及少部分人拥有的权限进行区分,分为两部分进行管理。但是此方法的难点在于,如何区分通用权限以及少部分拥有的权限,这个界限纯粹凭人工去判断,一旦判断失误,那么此种方案的设计会有很大的问题。
总结
关于权限设计的三种方式已经剖析清楚。目前业内最通用的还是第一种方式——针对“用户”为单位的权限设计方式,因为这符合当下大部分公司的组织架构。
而第二种权限设计方式——针对“权限”为单位的权限设计方式,这在政府机关高级机密系统中,更为适用,因为大多数人的权限是不一样的,更适用于此种方式。
最后一种,目前市场上的产品,此种方式是极少的,能走通,但可能并不是很适用。
其实,权限设计的方式,任何一种逻辑都能走通,最为关键的是我们需要根据用户使用该系统的业务场景去考虑问题,从而得出一个最优解,这是作为一个产品经理应有的思考方式。
延伸阅读:
【权限设计】一个案例,三个角色,简单说下B端产品的权限设计
【权限设计】如何以“用户”为单位的进行权限设计(一)
【权限设计】如何以“权限”为单位的进行权限设计(二)
摘自:
http://www.woshipm.com/pd/574647.html
相关文章推荐
- 【权限设计】如何以“用户”为单位的进行权限设计(一)
- php页面访问时,统一进行权限验证的设计
- Active Directory如何用C#进行增加、删除、修改、查询用户与组织单位!
- 如何结合hibernate进行复杂的查询功能设计
- 如何进行成功的架构设计
- Active Directory如何用C#进行增加、删除、修改、查询用户与组织单位!
- 如何在一个系统中设计权限控制机制(1)
- [ZT]如何使用Erwin进行基于MYSQL的数据库设计
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)
- php页面访问时,统一进行权限验证的设计
- 如何在jbuilder设计器里进行界面设计?
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 如何设计和使用自定义的权限对象(自定义权限检查函数)
- 如何设计数据库表实现完整的RBAC(基于角色权限控制)
- 进行面向对象的设计时,一项基本的考虑是:如何将发生变化的东西与保持不变的东西分隔开。
- 如何在ASP.NET应用中集成Windows域帐户来进行权限控制