【问题标题】:Java EE 6 groups, users and roles -vs- Shiro's roles, users and permissionsJava EE 6 组、用户和角色 -vs- Shiro 的角色、用户和权限
【发布时间】:2012-08-27 06:30:21
【问题描述】:

我正在尝试将 Java EE 6 的 groupsusersroles 安全概念映射到 Apache Shiro角色用户权限,我的理解是它们不兼容。

通读Java EE 6 security tutorial 似乎模型过于严格:是在每台服务器而不是每应用程序的基础上配置的,这实际上只给我们留下了两个灵活的概念来表达授权机制:usersroles,存在简单的1对N关系。相比之下,Shiro 的 rolesuserspermissions 模型更具动态性,因为它可以硬编码 permissions在带注释的代码中,并在运行时修改 rolespermissions 的映射,因为事情发生变化或引入新角色。我看不出如何根据 Java EE 6 模型对容器管理的授权做同样的事情。

我的理解正确吗?因为这意味着容器管理的授权不能真正走得太远。

【问题讨论】:

    标签: authorization java-ee-6 shiro


    【解决方案1】:

    它们不兼容,我认为 Java EE 安全性的设计者弄错了,因为术语似乎与 ROLES 无关。

    根据经验,我知道提供基于 ROLE 的访问控制(在他们的文档中建议)只会在您想向其他组/角色开放功能时导致问题。映射回角色(或组)的基于权限的访问似乎效果最好,因为它是抽象级别的重新映射练习,而不是重新编码/重新注释的练习。

    我知道您会对 Java EE 安全模型感到困惑。我建议仔细看看 Shiro 以及它是如何模拟应用程序级安全性的。 Shiro 的创建者 Les Hazelwood 写了一个 blog about RBAC,这对于需要细粒度控制甚至到 实例级别 的应用程序来说非常有意义。

    【讨论】:

      猜你喜欢
      • 2016-09-22
      • 2020-10-20
      • 1970-01-01
      • 2020-10-18
      • 1970-01-01
      • 2013-09-14
      • 2014-08-08
      • 1970-01-01
      • 2015-05-28
      相关资源
      最近更新 更多