后台管理之用户管理总结
外部用户和内部用户的管理,都涉及到账户、角色和权限的管理,本文从自身经验出发,总结了各个环节需要注意的地方,希望能对大家有所帮助。
系统的使用者通常称为用户,用户登录后,系统通过各种标识赋予用户操作和查看权限。
后台需要对用户账户、操作权限和数据权限等进行管理。用户管理贯穿业务各个环节,是支撑业务运营的核心部分。
本文对后台用户管理进行总结,期望对大家有所帮助。
一、外部用户
系统用户一般分为内部用户和外部用户。这种区分是从平台运维角度出发,平台运维公司的员工称为内部用户,其他用户称为外部用户。
外部用户隶属关系比较复杂,有的挂靠在某公司之下,无需注册,由系统管理员分配账户。
有的则以独立个体存在,例如:钉钉,以独立个体注册,公司邀请员工,员工同意后才有了归属。
第三种情况是用户以独立个体注册时选择所属公司,这种方式存在两个问题:
用户随意选择企业,不能保证准确性;
是否要在后台维护企业基础数据,不维护的话,无法统一数据源,维护的话,不能覆盖全部注册用户的企业。
选择哪种方式,需要根据实际业务情况进行设计。
目前平台的服务对象是门店销售员,由于业务冲突,平台无法获得企业级的合作,前两种情况需要隶属公司在平台上进行操作,只能选择第三种方式,用户以独立个体注册平台,并填写所属企业。
为避免第三种方式存在的问题,做如下处理:
用户注册填写企业,无需选择基础数据;
后台维护企业基础数据;
用户审核时,有平台客服人员选择企业基础数据。
这样既减少了用户操作的繁琐,平台又能获得精准的数据。
二、内部用户
内部用户也有归属,旧有的平台添加员工时选择归属,在员工管理菜单下展示为员工列表,这样做需要提前维护组织机构,频繁切换菜单。
像钉钉、企业微信等,在维护员工时,按照公司的组织架构进行维护,在同一页面完成部门和员工的添加,层级关系清晰(见下图):
内部用户一般无需注册,由系统管理员分配。分配的账户可以是字符串,也可以是员工的手机号码。
三、角色与权限
每个账号,都被赋予了特定的角色;而每个角色的背后,都有其对应的权限信息。
通过RBAC权限管理模型,用户可按照实际业务的需要分配不同的角色和权限,在共享一个软件平台的基础上,实现不同用户的不同功能。
权限的赋予分为自动赋权和手动赋权两种。
外部用户的自动赋权一般是账户有默认的基础权限,要想获得更多的权限需要另外开通;内部用户的自动赋权,一般是把角色与行政关系下的部门建立绑定关系,用户进入到该部门后,账户自动被加入到对应的角色中,并且拥有该角色所有的权限。
手动赋权无法通过用户行政关系自动绑定来实现,需要手动建立角色赋予给账户。
例如:要求客服专员只能看分到自己名下的客户,上级领导看全部下级的客户,通过两种方式实现:
一是通过组织机构的上下级归属自动赋予数据权限;
另外一种用数据角色,实现跨部门查看数据。
另外,角色可以继承,子账户继承父系角色的权限。例如:赋予某企业级外部用户admin某些权限,该企业下的其他子账户只能从admin权限中选择可用权限。
权限依据属性可分为操作权限和数据权限。
操作权限会从功能菜单、功能操作两方面考虑,角色勾选上菜单和功能,拥有该角色的账户即可操作相应的菜单和菜单下的操作(例如新、增、改、查),分配操作权限页面见下图:
数据权限会从菜单、列表及数据字段三个颗粒度考虑:
菜单是最粗颗粒度的数据权限,获得授权即可查看该菜单下的全部数据;
列表是较细颗粒度的权限,不同角色的用户进入同一菜单页后,查看的列表字段相同,但量级不同,例如上面描述的员工看自己的数据,领导看全部员工数据;
数据字段是最细颗粒度的权限,不同角色的用户进入同一菜单页后,可见的数据字段有差异,这些字段共存在一个菜单页中,只是受限于不同的角色权限。
四、单点登录
平台会涉及多个应用系统,例如:合同管理、资金管理、小程序管理、兑换商城等,可通过单点登录(SSO)。
在多个应用系统中,实现登录一次就可以访问所有相互信任的应用系统。
应用系统加入了单点登录协议,管理用户帐号的负担就会减轻,实现应用系统的用户、角色和组织机构统一化管理。
要实现SSO,需要:
统一集中的用户身份管理系统。所有应用系统共享一个身份认证系统,用户登录时,信息和用户信息库相比较,对用户进行登录认证;认证成功后,认证系统生成统一的认证标志(ticket),返还给用户。另外,认证系统还应该对ticket进行效验,判断其有效性。
所有应用系统能够识别和提取ticket信息。应用系统对ticket进行识别和提取,通过与认证系统的通讯,自动判断当前用户是否登录过,从而完成单点登录功能。通过基于互联网协议的单点登录、登出体系实现用户不同应用系统间身份一致性,实现信息空间身份一致性。
不论是外部用户,还是内部用户管理,都涉及到账户、角色和权限的管理。
本文从自身经验出发,总结了各个环节需要注意的地方,另外单点登录涉及到用户管理,贯穿整个平台,此部分技术人员参与的比较多,本文只做了简要的总结。
用户管理系统最难的是后续的维护,系统中往往会出现很多冗余的角色,这都需要慎重思考,和业务沟通清楚后再做调整。