当前位置: 首页 > 面试题库 >

如何在GlassFish 2上保护Web服务的安全?

孙嘉
2023-03-14
问题内容

我们在GlassFish 2服务器上部署了一些过时的EJB(EJB3),它们通过@Webmethod批注将其某些方法公开为Web服务。

现在,我们要保护这些Web服务方法的安全性,以便只有经过身份验证的客户端才能调用它。什么是实现这一目标的好方法?


问题答案:

就像好牧师说的那样。以下示例使用文件领域进行身份验证。

@Stateless
@WebService(name = "MyAppServices")
@RolesAllowed({"user"})
public class ItemEJB {
    ...
}

您还将需要 sun-ejb-jar.xml 例如

<sun-ejb-jar>
<security-role-mapping>
            <!-- as defined in @RolesAllowed -->
    <role-name>user</role-name>
            <!-- glassfish group created in file realm -->
    <group-name>user</group-name>
</security-role-mapping>
<enterprise-beans>
    <ejb>
        <ejb-name>ItemEJB</ejb-name>
        <webservice-endpoint>
            <!-- equivalent to name attribute of @WebService -->
            <port-component-name>MyAppServices</port-component-name>
            <login-config>
                <auth-method>BASIC</auth-method>
                <realm>file</realm>
            </login-config>
        </webservice-endpoint>
    </ejb>
</enterprise-beans>

在glassfish的文件领域中创建组很简单(管理控制台)。但是,您可以创建自己的自定义领域和登录模块



 类似资料:
  • 我在没有应用服务器的情况下使用JAAS进行了简单的授权和身份验证。所以现在我想知道是否有可能在jboss中使用JAAS来保护JAX-RS Web服务。我希望用户为了登录他们提供他们的电子邮件和密码,然后授权用户其他显示错误。如能举一个工作实例,将不胜感激。

  • 问题内容: 该问题在某种程度上与以下链接的问题有关。但是,我需要在某些方面和一些其他信息上多一点清晰度。 我需要使用令牌为REST Web服务实现安全性 该Web服务旨在与Java客户端一起使用。因此,表单身份验证和凭据弹出窗口没有用。 我是REST安全和加密的新手 这是我到目前为止所了解的: 对于第一个请求: 用户建立https连接(或容器使用301确保https) 用户POST输入用户名和密码

  • 这个问题在某种程度上与下面的链接问题有关。然而,我需要在某些方面更多的澄清和一些额外的信息。参考:REST Web服务身份验证令牌实现 背景: null null 对于后续请求: 客户端发送此加密令牌和哈希组合(使用基本的用户名字段?) 我们使用哈希确保加密的令牌没有被篡改,然后对其解密 我们检查会话跟踪表中解密的令牌是否有未过期的条目,并获得实际的用户名(过期由代码管理?) 如果找到用户名,则根

  • 问题内容: 我正在使用Spring Security在Grails应用程序中托管REST Web服务,即: 我是从Android应用程式呼叫它。(调用不安全的服务就可以了。) 为了调用该服务,我正在手动建立一个request()并使用来执行它。 我想知道最佳实践是什么,以及如何实施它们……具体来说,我应该: 执行一次登录,以检索JSESSION_ID,然后将包含它的标头添加到每个后续请求的Http

  • 我正在使用Spring MVC和REST web服务。当我调用REST服务时,我的Spring MVC控制器将返回一个JSON响应。到目前为止一切都很好。我有一个要求,需要加密spring控制器响应,它是纯文本。 例如:我会打一个REST电话,比如 http://www.AAAAA.com/app/getNameDetails 我的回答是 {"name": "Naveen "," email":

  • 问题内容: 我正在使用Linux Server并尝试安装Pdftk,但是在尝试弄清楚该怎么做时遇到了问题。 我找到了以下有关如何安装它的文档,但它们主要是指在本地Windows计算机上安装它。 它们是:http : //www.andrewheiss.com/blog/2009/07/29/installing-pdftk- php/ http://www.accesspdf.com/pdftk/