1

我需要在这里澄清一下,拜托。我目前正在学习 EJB,并且我读过有关将方法的访问权限限制在某些“角色”中的用户。我知道限制访问权限的元数据是如何工作的。但是,我不知道如何将用户置于各自的角色中。用户的角色是否在数据库中设置,并且ejb进入数据库并检查角色(如果是,如何)?我的意思是,我在哪里或如何以编程方式强制某些用户属于,例如,客户角色或管理员角色?如果您知道任何书籍,也可以根据需要提供书名。

谢谢你。

4

2 回答 2

0

用户配置特定于应用程序服务器。EJB 中的安全性仅与角色有关。我使用 Glassfish,它有多种配置用户的方式:文件(默认)、jdbc、ldap 等。每种方式都称为领域。一切都取决于您使用的服务器,因此请查看文档。在 Glassfish 中只是有点乏味,因为服务器角色映射到应用程序角色。

于 2011-03-07T02:39:52.020 回答
0

有几种方法可以在 EJB 应用程序(数据库、属性文件、LDAP ...)中声明角色。此外,从 EJB 3.0 开始,您可以在会话 bean 中使用注释:

@RolesAllowed("blabla")

@PermitAll

@拒绝所有

@RunAs

这称为声明性授权。与编程授权相反(来自 javax.ejb.SessionContext 对象的方法 getCallerPrincipal() 和 isCallerInRole())。

你可以在网上找到很多例子。

于 2010-12-24T20:54:03.673 回答