0

我有兴趣将 EJB 3 的安全注释用于我们公司的安全模型。如问题标题中所述:用户是组的一部分,每个组都分配了一个权限列表,这允许将权限动态分配给组而不影响组成员资格。

但是,据我所知,EJB 3.x 仅支持用户 --> 角色|组模型(实际上与将组视为角色相同)。

我的目标是:...

@Stateless
public class secureEJB {
    ...
    @HasPrivilege(Privileges.ABLE_TO_MAKE_ARBITRARY_DATABASE_CHANGES)
    public void causeMayhem();
    ...
}

如果 EJB 3 不支持此模型,那么有人知道支持此模型的库吗?

谢谢,麻烦您了。

4

1 回答 1

1

EJB 透视图/视图/接口/规范仅由用户和角色组成。EJB 没有定义维护这些数据的方式。角色用于强制授权。

因此,您可以设置任何您喜欢的模型来维护身份验证/授权数据。例如,用户是组成员,权限附加到组。

例如,使用 JBoss,LoginModule返回给定用户的角色是 a 的任务。在这种情况下,DatabaseServerLoginModule您可以使用 SQL 语句将用户、他们的组和组/角色分配连接在一起。结果总是只是一个简单的角色列表。至于 WebSphere,他们使用名称“自定义用户注册表”而不是“登录模块”。

有一些构建后端的选项:

  • 由于用户经常是应用程序数据模型的一部分(参照完整性由约束强制执行),因此通常将其集成到应用程序的数据模型中。

  • 如果不需要(甚至不需要),您可以集成任何您喜欢的内容。在这种情况下,请查看门户(例如 Liferay)之类的解决方案,因为它提供了数据模型、维护应用程序、密码重置、电子邮件验证、锁定处理、单点登录 (SSO) 集成等。授权数据模型不是问题; 而是需要用户界面来维护数据。

于 2013-09-06T09:27:08.187 回答