将 JavaEE 应用程序角色映射到 weblogic 安全角色

Map JavaEE app roles to weblogic security roles

我想我可能在这里遗漏了一些明显的东西,但我有一个 weblogic 服务器设置来托管我的 J2EE web 应用程序。除此之外,我还有企业管理器设置,允许将 LDAP 服务器映射到安全角色,例如 AD 组:

g-uk-用户

可能映射到安全角色:

英国用户

然后我尝试使用这些安全角色对我的 Web 应用程序进行身份验证,但是我似乎只能在我的应用程序中找到 weblogic 组或用户与角色之间的映射,例如:

To associate a user or group with the TaskAdmins role, edit the <wls:principal-name> entry that is associated with the <wls:role-name>TaskAdmins</wls:role-name> entry. For example,<wls:security-role-assignment>
 <wls:role-name>TaskAdmins</wls:role-name>
 <wls:principal-name>User_or_group</wls:principal-name>

重要提示:您必须为要与 TaskAdmins 角色关联的每个用户或组创建一个新节。

当在 weblogic 中使用组时,这个概念非常有效,但我不想映射到我希望能够映射到我似乎无法做到的安全角色的组。

web.xml

<security-constraint>
      <display-name>MySecurityConstraint</display-name>
       <web-resource-collection>
        <web-resource-name>SecureContent</web-resource-name>
        <url-pattern>/*</url-pattern>
       </web-resource-collection>
       <auth-constraint>
        <role-name>PORTAL_USER</role-name>
       </auth-constraint>
       <user-data-constraint>
        <transport-guarantee>NONE</transport-guarantee>
       </user-data-constraint>
 </security-constraint>

 <login-config>
      <auth-method>FORM</auth-method>
      <realm-name>myrealm</realm-name>
      <form-login-config>
           <form-login-page>/login</form-login-page>
           <form-error-page>/login?error</form-error-page>
      </form-login-config>
 </login-config>


 <security-role>
     <role-name>PORTAL_USER</role-name>
 </security-role>
 <security-role>
    <role-name>ACT_AS</role-name>
 </security-role>
 <security-role>
     <role-name>ADMIN</role-name>
 </security-role>

weblogic.xml

<wls:security-role-assignment>
<wls:role-name>PORTAL_USER</wls:role-name>
<wls:principal-name>Admin</wls:principal-name>


<wls:security-role-assignment>
<wls:role-name>ACT_AS</wls:role-name>
<wls:principal-name>ACT_AS</wls:principal-name>

已在

中回答此问题

我基本上对映射很困惑。如果角色是在 Weblogic 中创建的,则不应在应用程序本身内完成映射,因为这是 Weblogic 有效地为您做的事情。然而,我找不到让我的应用程序能够获得这些角色的方法(或了解它是如何做到的!)而且我还直接从 Eclipse 进行部署,这意味着您只能使用映射到应用程序中定义的角色本身。

构建和部署应用程序并在 weblogic 的安全设置下选择自定义角色将允许为该应用程序创建安全角色,并且还将允许该应用程序使用来自 Weblogic 的安全角色。这些角色仍应在 web.xml 中定义,weblogic 将处理其余部分!