美文网首页
权限管理

权限管理

作者: 若兮缘 | 来源:发表于2019-04-05 22:39 被阅读0次

    什么是权限管理

    一般来说,只要有用户参与,那么该系统都会需要权限管理,权限管理实现了对用户访问系统指定功能的限制,
    按照管理员定义的安全规则或权限策略,限制用户只能访问自己被授权的那些资源路径。
    权限管理包括用户认证和授权两部分(俗称登录和鉴权)。也就是说先要进行用户的登录,登录以后会对用户访问
    的功能模块、按钮、接口请求等进行权限验证。

    用户认证(用户登录)

    身份认证,简单来说就是登录。检验一个用户是否为合法用户的业务处理过程。最常见的方式为系统对用户输入的
    用户名和密码判断是否匹配数据库中的记录。
    除此之外还有指纹认证,一卡通认证,脸部扫描,这些都需要硬件设备,比如指纹采集仪,pos机,脸部识别系统等。

    用户授权

    授权,即访问控制,控制用户能否访问哪些资源。在用户进行身份认证后需要分配权限方可访问系统的资源,
    对于某些资源没有权限是无法访问的

    权限模型设计

    主体(user、password)
    权限(权限名称、资源id)/资源(资源名称、访问url)
    角色(角色名称)
    角色和权限关系(角色id、权限id)
    主体和角色关系(主体id、角色id)

    权限设计

    粗粒度权限,是指对现有资源类型的权限管理。资源类型可以有:url、button、link、menu
    粗粒度的权限分配:总经理可以分配到用户访问的页面,比如用户添加页面、查看用户信息页面、删除用户页面。
    部门级别的账号只可以查看用户信息页面。
    细粒度权限,是指对具体资源访问的权限管理。也就是说不同的用户访问到同一张资源表中的资源数据是不同的,
    这是属于数据级别的权限控制。举个栗子:总经理可以访问用户表中的所有数据,而不同部门经理只能访问自己部门的
    那些用户信息。
    粗粒度权限:单独的权限模块分配用户资源权限,可以按照角色里的权限统一分配或者按照单个资源来分配。
    细粒度权限:需要控制在业务层,也就是在代码层控制,限制用户查询的时候增加id来进行判断,比如之前所说的
    查询用户按照该用户的所属部门id来进行查询,即可控制不同部门人员的访问限制。这个id需要从action/controller
    层传到service层到dao层进行传输查询。

    相关文章

      网友评论

          本文标题:权限管理

          本文链接:https://www.haomeiwen.com/subject/nnfliqtx.html