从Weblogic获取Spring Security的安全角色

时间:2015-02-12 14:04:55

标签: java spring security spring-mvc 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来控制对各种页面的访问时出现问题。

我正在使用以下内容授予authrorities:

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

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

ROLE_PORTAL_USER。

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

1 个答案:

答案 0 :(得分:0)

我错过了一些非常明显的东西。

事实证明,如果您使用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中设置角色 - 必须与app

中定义的名称相同

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