zoukankan      html  css  js  c++  java
  • 权限控制

    RBAC(role  based  access  control),基于角色的访问控制。

    比如:

    系统角色包括 :部门经理、总经理。。(角色针对用户来划分)

    系统代码中实现:

    //如果该user是部门经理则可以访问if中的代码

    if(user.hasRole('部门经理')){

               //系统资源内容

               //用户报表查看

    }

    问题:

    角色针对人划分的,人作为用户在系统中属于活动内容,如果该 角色可以访问的资源出现变更,需要修改你的代码了,比如:需要变更为部门经理和总经理都可以进行用户报表查看,代码改为:

    if(user.hasRole('部门经理') || user.hasRole('总经理')  ){

               //系统资源内容

               //用户报表查看

    }

    基于角色的访问控制是不利于系统维护(可扩展性不强)。


    RBAC(Resource  based  access  control),基于资源的访问控制。

    资源在系统中是不变的,比如资源有:类中的方法,页面中的按钮。

    对资源的访问需要具有permission权限,代码可以写为:

    if(user.hasPermission ('用户报表查看(权限标识符)')){

               //系统资源内容

               //用户报表查看

    }

    上边的方法就可以解决用户角色变更不用修改上边权限控制的代码。

    如果需要变更权限只需要在分配权限模块去操作,给部门经理或总经理增或删除权限。

    建议使用基于资源的访问控制实现权限管理。

  • 相关阅读:
    IE window对象跨域的一些特性
    杭州归来
    网上流行的JS HTMLDecode不安全
    看到的一点进步
    开春第一趟单骑上妙峰
    把JS函数转URL形式
    firebug也支持debugger关键字了
    发现一篇关于flash垃圾回收机制的文章
    Java 内存分析图
    继承中多态的灵活使用及其分析图 第一个程序的升级版
  • 原文地址:https://www.cnblogs.com/sherrykid/p/5862416.html
Copyright © 2011-2022 走看看