【问题标题】:jax-rs web service: how to hide some entity fields and use SSLjax-rs web 服务:如何隐藏一些实体字段并使用 SSL
【发布时间】:2013-07-31 08:39:19
【问题描述】:

最近我在这里问了一些关于网络服务的问题

How to secure a database using web services?

Glassfish: deploy of multiple applications, some of them with SSL

但根本没有找到答案 这次我会尝试更具体的希望能找到一些帮助...

我使用从数据库表创建 Web 服务的向导在 Netbeans 中创建了一个简单的 Web 服务。该向导创建一个持久性单元、实体类并使用 JPA。 restful web 服务是使用 jax-rs 创建的,我选中了“Use Jersey default”,这导致了 web.xml 文件的创建。 它可以工作,但在数据库表中有一些我需要过滤但我不想报告给客户端的字段:如何将它们隐藏在由 restful web 服务生成的 xml/json 中?

如何强制使用 SSL?

我试着放了

<transport-guarantee>CONFIDENTIAL</transport-guarantee>

在 web.xml 中,它强制使用 SSL,但响应不一样,它不是 xml/json,但它仅包含实体字段值的串联。此外,一些带有路径参数的 URI 根本不起作用。我错过了什么?

谢谢 菲利波

关于 SSL 的更新

我进行了更多检查,并使用 Firefox 我使用 SSL 得到了有效的响应,而使用 IE9 得到了奇怪的结果。在这种情况下,强制使用 SSL 我得到了一个带有字母数字字符的长字符串。我将尽快在另一台计算机上重复测试。

【问题讨论】:

    标签: ssl jaxb jax-rs


    【解决方案1】:

    既然您使用的是泽西岛,那么您应该同时拥有杰克逊。 Jackson 帮助处理实体 -> JSON 和 JSON -> 实体解析。

    您正在寻找一个名为

    的注释
    @JsonIgnore
    

    您需要将其放在您希望从输出中隐藏的成员的“getter”方法中。

    来源:http://jackson.codehaus.org/

    【讨论】:

    • 在 Netbeans 7.3 附带的 Jersey 实现中,似乎没有包含 Jackson,因为上面的注释无法识别。我结束了使用结合 @XmlAccessorType(XmlAccessType.FIELD) 的旧的甜蜜 @XmlTransient 注释。
    猜你喜欢
    • 2016-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 2016-07-01
    • 1970-01-01
    相关资源
    最近更新 更多