Weblogic上部署的基于角色的安全性

时间:2012-08-06 07:06:42

标签: ejb-3.0 weblogic-10.x

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

用于创建我正在使用jazn-data.xml的用户,组和角色,

部署EJB并运行应用程序后,安全性会被应用并引发异常[EJB:010160]安全违规:用户:'XXX'没有足够的权限访问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)有关,每次添加新用户或是否有新用户时,是否必须为每个用户(主要名称)创建一个条目我可以通过哪种方式映射用户组?

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

1 个答案:

答案 0 :(得分:1)

答案是肯定的,

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

&LT;主要名称&gt; xxxgroup名称&lt; / principal-name&gt;

  • 因此,该组内的每个成员都会分享 权限。