[英]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.