gpt4 book ai didi

java - 从 Weblogic for Spring Security 获取安全角色

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:41 25 4
gpt4 key购买 nike

我目前正在编写一个位于 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 个角色应出现在应用程序中

关于java - 从 Weblogic for Spring Security 获取安全角色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28479475/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com