繁体   English   中英

从Weblogic获得用于Spring Security的安全角色

[英]Get Security Roles From Weblogic for Spring Security

我当前正在编写一个位于weblogic服务器上的Web应用程序。

我正在使用Weblogic的安全性容器来验证对应用程序的访问。 在weblogic.xml中,我具有映射:

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

然后,我向具有PORTAL_USER权限的任何人授予对我的应用程序的访问权限。

使用Spring Security控制对各个页面的访问时会出现问题。

我正在使用以下方法授予权限:

<bean class="org.springframework.security.core.authority.mapping.SimpleAttributes2GrantedAuthoritiesMapper">                        
    <property name="convertAttributeToUpperCase" value="true"/> 
</bean>

但这似乎使应用程序中的角色具有权限,例如,登录用户时将具有权限:

ROLE_PORTAL_USER。

因此,我的问题是如何从weblogic获得角色并向用户授予这些角色。 例如,如果用户在weblogic中定义了安全角色Admin ,那么我将如何在我的应用程序中读取该角色并为其分配适当的角色。

我错过了一些显而易见的东西。

事实证明,如果您使用Eclipse自动部署到weblogic,则它不使用weblogic中定义的映射,而仅使用应用程序中定义的映射。

如果将应用程序部署到服务器并选择自定义角色,则角色(只要在应用程序中声明了角色)就会出现在应用程序中。

要从Weblogic获取Java EE应用程序中的用户角色,请执行以下操作:

1在web.xml中定义:

<security-role>
     <role-name>Admin</role-name>
</security-role>
<security-role>
     <role-name>Author</role-name>
</security-role>

2在Weblogic上部署应用程序-使用自定义角色进行安全设置

3在Weblogic中设置角色-必须与应用程序中定义的名称相同

4个角色应出现在应用程序中

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM