第二节 权限框架设计之ACL和RBAC讲解

1,介绍什么是ACL和RBAC

  • ACL: Access Control List 访问控制列表

    • 以前盛行的一种权限设计,它的核心在于用户直接和权限挂钩
    • 优点:简单易用,开发便捷
    • 缺点:用户和权限直接挂钩,导致在授予时的复杂性,比较分散,不便于管理
    • 例子:常见的文件系统权限设计, 直接给用户加权限
  • RBAC: Role Based Access Control

    • 基于角色的访问控制系统。权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限
    • 优点:简化了用户与权限的管理,通过对用户进行分类,使得角色与权限关联起来
    • 缺点:开发对比ACL相对复杂
    • 例子:基于RBAC模型的权限验证框架与应用 Apache Shiro、spring Security
  • BAT企业 ACL,一般是对报表系统,阿里的ODPS

     

  • 总结:不能过于复杂,规则过多,维护性和性能会下降, 更多分类 ABAC、PBAC等

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,关于基于RBACACL自定义开发一个权限框架的Java实现,我可以给您一些建议。RBAC指的是基于角色的访问控制,ACL指的是访问控制列表。这两种访问控制模型可以互相结合,实现更加精细的权限控制。以下是一些实现框架的建议: 1.定义用户、角色和资源 首先,需要定义用户、角色和资源这三个基本概念。在Java中,通常通过类来表达这些概念,例如User、Role和Resource类。其中,用户可以拥有多个角色,角色可以拥有多个资源。具体实现时可以使用集合来存储这些对象,并通过ID或名称进行关联。 2.实现RBAC模型 接下来,可以实现基于角色的访问控制模型。首先,需要定义角色的权限,例如对某个资源的访问权限。这可以通过一个Permissions类来实现。然后,可以给每个角色分配一组权限,表示该角色可以访问哪些资源。最后,在访问该资源时,需要根据用户所拥有的角色来检查其是否有访问权限。 3.实现ACL模型 除了RBAC模型,还可以实现ACL模型来进行更细粒度的权限控制。在ACL模型中,需要为每个资源定义一个访问控制列表,该列表包含可以访问该资源的用户和对应的权限。这可以通过一个AccessControlList类来实现。然后,在访问该资源时,需要在访问控制列表中查找该用户是否有相应的权限。 4.结合RBACACL模型 RBACACL模型可以结合使用,实现更为精细的访问控制。例如,可以使用RBAC模型来控制对资源的访问,使用ACL模型对资源的操作进行管理。具体实现时,需要为每个角色分配一组资源,然后给每个资源定义一个访问控制列表,列表中包含可以对该资源进行操作的用户和相应的权限。 总之,以上就是一个基于RBACACL模型的自定义权限框架的实现建议。在具体实现时,可以根据实际需求进行调整和改进。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值