ejb-3.0 - 部署在 Weblogic 上的 EJB 基于角色的安全性

标签 ejb-3.0 weblogic-10.x

我正在开发一个 EJB 应用程序。我必须在 session bean(EJB3)方法上应用基于角色的安全性,为此我尝试使用“@RolesAllowed”注释 session bean 方法,如下所示,

为了创建用户、组和角色,我使用 jazn-data.xml 如下,

部署 EJB 并运行应用程序后,确实应用了安全性并抛出异常 [EJB:010160]Security Violation: User: 'XXX' has enough permission to access EJB

添加如下 weblogic ejb 部署描述符后,

<?xml version = '1.0' encoding = 'windows-1252'?>
<weblogic-ejb-jar xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar http://xmlns.oracle.com/weblogic/weblogic-ejb-jar/1.1/weblogic-ejb-jar.xsd"
                  xmlns="http://xmlns.oracle.com/weblogic/weblogic-ejb-jar">
    <weblogic-enterprise-bean>
        <ejb-name>ApplicationFacade</ejb-name>
        <stateless-session-descriptor/>
        <enable-call-by-reference>true</enable-call-by-reference>
    </weblogic-enterprise-bean>
    <security-role-assignment>
        <role-name>PVUser</role-name>
        <principal-name>pv</principal-name>
    </security-role-assignment>
    <security-role-assignment>
        <role-name>PRUser</role-name>
        <principal-name>pr</principal-name>

    </security-role-assignment>
</weblogic-ejb-jar>

它开始按预期工作。

我的问题与 weblogic ejb 部署描述符(weblogic-ejb-jar.xml)有关,每次我添加新用户时,我是否必须为每个用户(主要名称)创建一个条目,或者有什么方法可以通过我可以映射用户组吗?

如果我错过了添加权限所需的任何其他配置,也请告诉我。

最佳答案

答案是肯定的,

  • 您需要做的是通过登录到创建一个名为 xxx 的组
    weblogic 控制台(在安全领域面板中修改)
  • 然后将所有用户添加到名为 xxx
  • 的组中
  • 最后在 weblogic ejb 部署描述符中,您只需要
    将组名指定为

  • < principal-name >xxxgroup name < / principal-name >


  • 因此,组内的每个成员都将共享
    允许。
  • 关于ejb-3.0 - 部署在 Weblogic 上的 EJB 基于角色的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11823848/

    相关文章:

    java - 干净的代码、无状态 session bean 和私有(private)状态

    django - 将 Django 应用程序部署到 Weblogic : Cannot find modjy

    java - Weblogic Workshop 10.3 中的问题,Weblogic Portlet 开发

    java - 将 Rampart 添加到 POM 的依赖项时出现 IllegalAccessError

    java - 在 OpenEJB 中部署具有多个队列名称的 MDB 时出错

    java - JMS队列消息接收顺序

    java - 理解 JPA、EJB3 和 Web 服务

    java - 防止机器人多次查询我的数据库

    java.sql.SQLException : Connection has already been closed after first database query 异常

    java - weblogic 10.3.4强制释放连接