首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB服务认证和授权

EJB服务认证和授权
EN

Stack Overflow用户
提问于 2014-12-30 20:01:22
回答 2查看 1.7K关注 0票数 0

如何使用HTTP通过应用服务器域/安全域使用发布为@WebService的会话Bean进行身份验证

在一个网络项目中,可以使用web.xml将角色映射到组中,但我不知道如何在EJB项目中这样做。我认为用ejb-jar.xml是做不到的。

示例代码,它在没有角色注释的情况下运行良好:

代码语言:javascript
复制
@Stateless
@WebService(portName="RestrictedServicePort")
@DeclareRoles(value = "Administrators")
public class RestrictedServiceBean {

    @RolesAllowed(value = "Administrators")
    public String restrictedOperation() {
        return "Secret information";        
    }

}

错误:

代码语言:javascript
复制
<faultstring>[EJB:010160]Security Violation: User: '&lt;anonymous>' has insufficient permission to access EJB: type=&lt;ejb>

基本凭据标题:

Authorization: Basic d2VibG9naWM6d2VsY29tZTE=

我怀疑它必须通过特定供应商的配置来完成。我使用的是WebLogic 10.3.6,Java 5/EJB3.0。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-19 19:40:41

解决了在任何web模块中添加角色映射的问题,但使用了专有的weblogic-ejb-jar.xml,如下所示:

代码语言:javascript
复制
<wls:security-role-assignment>
    <wls:role-name>Administrators</wls:role-name>
    <wls:principal-name>myweblogicgroup</wls:principal-name>
</wls:security-role-assignment>

"myweblogicgroup“是在WebLogic安全领域中创建的组,用于对web服务进行身份验证的系统用户与该组相关联。

这个链接帮了我。

票数 0
EN

Stack Overflow用户

发布于 2015-01-01 16:23:27

Basic Auth通过策略

来自v10文档

Web服务可以有与其关联的零或多个WS-策略文件。WS-策略文件遵循WS-策略规范的指导原则。WebLogic服务器使用WS-策略文件来指定消息级安全性(数字签名和加密)和可靠消息传递功能的详细信息。可以将WS-Policy文件附加到Web服务端点,这意味着策略断言适用于Web服务端点的所有操作。还可以将WS-Policy文件附加到操作,这意味着策略断言仅适用于特定操作。此外,还可以将WS-Policy文件附加到入站或出站SOAP消息,或者两者都附加。

您似乎可以附加基本政策到您的服务:

代码语言:javascript
复制
<sp:TransportToken>
  <wsp:Policy>
    <sp:HttpBasicAuthentication/>
  </wsp:Policy>
</sp:TransportToken>

您可以通过管理控制台通过概述的这里步骤应用此自定义策略,也可以考虑引用Oracle-预配置策略之一。

将角色映射到组

WebLogic (v12) 文档在讨论EJB中@RolesAllowed的使用时提到了以下几点:

如果在类或类的方法上使用@RolesAllowed注释,还可以使用注释显式声明角色。 使用管理控制台在WebLogic服务器中创建安全角色。有关详细信息,请参阅Oracle WebLogic服务器管理控制台帮助中的“WebLogic”。

管理安全角色部分继续讨论scoped roles.

然后,您可以为包含高度敏感的业务逻辑的特定EJB创建作用域。在为EJB创建策略时,可以指定只有作用域角色才能访问EJB。

有关管理作用域角色的更多信息是这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27711748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档