保护 REST 服务和 Web 应用程序的最佳方法

Posted

技术标签:

【中文标题】保护 REST 服务和 Web 应用程序的最佳方法【英文标题】:Best approach for securing REST services and a web application 【发布时间】:2014-10-20 09:04:25 【问题描述】:

我正在构建一个通过 REST 服务与服务器和客户端通信的 Web 应用程序(我计划在中期构建一个移动应用程序)。

我在其他没有 REST 服务的 Web 应用程序中使用过 Spring Security。但我不确定这种方法是否适合我的场景。

是否可以使用 Spring Security 保护对网页的访问和对 REST 服务的调用?你会推荐什么?

后端使用 Spring Data + Spring MVC。

谢谢。

【问题讨论】:

【参考方案1】:

是的,Spring Security 是保护 REST 端点和传统 MVC 网页的好方法。根据您的要求,REST 端点和 MVC 路由的实现可能相似。

Spring Security 是一种为 Spring 应用程序添加安全性的流行且有效的方法。由于您已经有使用它的经验,因此您应该能够相对轻松地保护您的 REST 端点。

查看有关使用 Spring Security 保护 REST 路由的详细教程以开始使用:https://spring.io/guides/tutorials/rest/5/

【讨论】:

但是,正如我在该教程中看到的,每个 REST 调用都必须提供凭据。我的目标是用户登录输入用户+密码,然后访问网页和 REST 服务不需要再次引入凭据。 实现此目的的一个好方法是使用简单的基于 cookie 的身份验证。看这篇文章:baeldung.com/2011/10/31/…. 当您阅读了有关基于 cookie 的身份验证的文章后,您可以阅读这篇文章,了解为什么这样的令牌不太理想...hueniverse.com/2010/09/29/…(不记名令牌几乎与 cookie 相同)基于令牌)。玩得开心 - 互联网是个好地方 :-)

以上是关于保护 REST 服务和 Web 应用程序的最佳方法的主要内容,如果未能解决你的问题,请参考以下文章

使用 Spring Security 保护 REST 微服务

无需对移动应用进行用户身份验证即可保护私有 REST API 的最佳方法

使用 Spring Boot 保护移动应用程序和微服务的 Rest API [关闭]

使用 OAuth2 保护 REST Web 服务:一般原则

Java Web Service REST 正确设计最佳实践

保护 REST API 的最佳方式是啥? [关闭]