zoukankan      html  css  js  c++  java
  • 【权限设计】如何以“权限”为单位的进行权限设计(二)

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

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

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

    适用的业务场景

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

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

    如何进行设计?

    1、信息架构图

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

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

    2、业务流程图

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

    3、具体原型图设计

    菜单有哪些?

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

    管理员添加

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

    部门添加

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

    权限列表

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

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

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

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

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

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

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

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

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

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

    总结

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

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

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

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

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

    延伸阅读:

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

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

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

    摘自:

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

  • 相关阅读:
    C# 多线程并发锁模式-总结
    C# 7 out variables, tuples & other new features
    AngleSharp 的Dom 选择器
    Html Agility Pack
    javascript判断是否按回车键
    VSTS 免费代码git/tfs托管体验-使用代码云托管
    NPOI 中的公式列的值的获取
    topshelf 开发windows 服务资料
    vue之指令
    hash和md5
  • 原文地址:https://www.cnblogs.com/52php/p/6277731.html
Copyright © 2011-2022 走看看