我需要在此澄清一下。我目前正在学习EJB,并且我已经阅读过关于限制某些“角色”中用户访问方法的权利。我知道限制访问权限的元数据是如何工作的。但是,我不知道的是如何将用户置于各自的角色中。是否在数据库中设置了用户角色,ejb进入数据库并检查角色(如果是,如何)?我的意思是,我在哪里或如何以某种方式强加某些用户属于(例如)客户角色或管理员角色?如果您知道任何书籍,也可以根据需要提供书名。
谢谢。
答案 0 :(得分:0)
有几种方法可以在EJB应用程序(数据库,属性文件,LDAP ...)中声明角色。 此外,自EJB 3.0起,您可以在会话bean中使用注释:
@RolesAllowed( “布拉布拉”)
@PermitAll
@DenyAll
@RunAs
它被称为声明性授权。而不是编程授权(来自javax.ejb.SessionContext对象的方法getCallerPrincipal()和isCallerInRole())。
你可以在网上找到很多例子。
答案 1 :(得分:0)
用户配置特定于Application Server。 EJB中的安全性仅与角色有关。我使用Glassfish,它有很多配置用户的方法:文件(默认),jdbc,ldap等。每种方式都称为领域。一切都取决于您使用的服务器,因此请查看文档。由于服务器角色与应用程序角色的映射,Glassfish只是有点乏味。