Java 如何保护REST应用程序?

Java 如何保护REST应用程序?,java,spring,rest,Java,Spring,Rest,我正在用spring构建一个REST应用程序,并希望确保这些方法的安全性,因为它们可以在intranet中访问,以后也可以由一些客户访问 所有请求均为GET only。如何实现基本但足够强大的安全性?一个额外的get参数,如?key=12345,其中每个客户都有自己的密钥 或者如何做到这一点?首先,如果您将参数作为URL中的查询参数传递,任何人都可以使用嗅探器查看参数的值 必须使用SSL在标头中传递这些参数。因此,嗅探器无法读取这些参数 编辑: 正如凯文所说,嗅探者看不到这些信息。只有服务器IP

我正在用spring构建一个REST应用程序,并希望确保这些方法的安全性,因为它们可以在intranet中访问,以后也可以由一些客户访问

所有请求均为GET only。如何实现基本但足够强大的安全性?一个额外的get参数,如?key=12345,其中每个客户都有自己的密钥


或者如何做到这一点?

首先,如果您将参数作为URL中的查询参数传递,任何人都可以使用嗅探器查看参数的值

必须使用SSL在标头中传递这些参数。因此,嗅探器无法读取这些参数

编辑: 正如凯文所说,嗅探者看不到这些信息。只有服务器IP。但仍然不确定:

包含敏感数据的完整URL存储在浏览器历史记录中 完整URL存储在web服务器日志中。 完整的URL在引用者标题中传递。
您好在构建REST应用程序时有很多要点,如果与安全性相关,我建议您检查,请检查链接以分析您需要关注的内容

谈到框架,这取决于您的体系结构,我建议您分析的一些框架如下:

春季安全 阿帕奇西罗酒店 暴风雨之路 阿帕切兹
我希望它能帮助您。

您可以使用spring security来保护该内容。如果您使用SSL,您应该只看到ip地址和dns请求。查询参数不应可见,或者SSL实现已中断。现在还有其他理由不把它们放在那里,但这不是其中之一。凯文完全正确。我一直认为通过嗅探你可以看到所有的信息。但你加深了一点,你是对的,从狙击手的角度看,这是不可见的。尽管如此,在URL中传递参数仍然非常不确定。