开始之前我们先看看百度百科中中对于权限管理的定义。
权限管理,一般指根据系统设置的安全规则或者[安全策略],用户可以访问而且只能访问自己被授权的资源,不多不少。
对这句话进行分解一下,权限系统就是:谁?是什么身份?可以允许看到什么内容,执行哪些操作?
谁?当前访问管理系统的是什么人?用户管理
是什么身份?角色管理,如:经理、主管、销售专员、客服、财务等等。
可以看到什么内容,执行哪些操作?数据管理:允许看到哪些菜单、字段等?功能权限:增删改
权限系统由三大部分构成:用户管理、角色管理、权限管理
-
用户管理
用户管理是创建用户账号的一个过程,拥有账号之后,就可以登录系统。用户管理包括账号的创建、删除、冻结、解冻等操作。创建账号之后,使用对应账号可以登录系统,删除或者冻结账号之后,账号无法继续登录系统。
姓名、账号、密码为必须要素。其他的要素可根据企业自身需求增加,比如:手机号码、生日、联系地址、性别等信息。
账号创建完毕之后,需要为用户赋予角色(即在企业中的任职情况,如销售经理、销售主管、出纳、会计等)。 -
角色管理
权限系统中的角色一般跟企业的组织架构是一致的,企业组织架构中的人在什么岗位要做什么事情?权限系统中的用户是什么角色被允许看那些东西进行什么操作? 是一种对应关系,所以 企业架构的岗位、岗位职责跟别对应了权限系统的角色、权限。
- 在企业中一个人可以兼任多个岗位,一个岗位也可能有多个人,所以岗位与人是多对多的关系。
- 岗位之间会有从属关系,比如:销售经理下设销售主管、销售主管下设销售专员,最终构成了组织架构,一般是树形关系。
角色管理需要我们可以灵活的配置角色,而且可以设置从属关系。
创建完毕角色之后,我需要为角色赋予权限(其在企业中对应岗位需要做什么事情,允许看到什么内容,进行什么操作?)
-
权限管理
权限一般是跟企业中的岗位职责对应的,在企业实际运营过程中,为了保证用户的隐私、企业数据的安全性,会对不同岗位设定不同的限制。比如客服不允许给用户退款转账,新媒体运营专员不允许查看用户手机等隐私信息,非高层管理者不允许批量导出用户信息等。
总结起来,我们可以将权限分为两大类:数据权限和操作权限。
1.数据权限
数据权限,就是角色可以看到哪些内容(包括能看到哪些页面、字段、区域)?
-页面:假设有10个页面,管理员只给某个角色开通了10个中的2个页面查看权限,那么该角色就只能看到这2个菜单。
-字段:假设某个菜单对应的页面列表中有15个字段,角色A被允许查看所有字段,角色B只允许查看其中的10个字段,那么A和B看到的内容就不同。
-区域:假设为角色A开通了全国的数据查看权限,为B开通了北京的数据查看权限,那么A就可以看到全国的数据,B就只能看到北京地区的收据。
2.操作权限
操作权限就是角色可以进行哪些操作?包括增删改。比如客服不允许上下架商品,商品审核专员不允许操作退款等,都属于操作权限的控制,每个操作都可以有权限控制。
最后总结:权限系统其实就是企业架构和岗位职责的一个映射,尽最大可能保护企业数据。