spring - Java EE 模式 : authorisation and RESTful service implementation

标签 spring jakarta-ee tomcat

我想使用 Tomcat 实现一个基本的 RESTful 服务。 API 在使用前需要授权。授权将通过请求帐户“资源”来实现,例如

some.domain.com/rest/accounts?user=ABC&password=XYZ

如果凭据有效,将以 JSON 格式返回适当的帐户资源,或者返回 403 类型的空响应。授权完成后,客户端即可访问API(举例):

some.domain.com/rest/secure/bookings
some.domain.com/rest/secure/friends

但是,我对所有实现选项感到迷茫。我知道我想使用 Spring,但 Jackson 似乎更容易返回 JSON 对象。

问题:

  1. 即使使用 Jackson 的类也是一种 Controller ,我是否应该实现一个 Spring Controller ?或者,如果我使用 Jackson,是否不需要 Sping Controller ?

  2. 是否应该使用 Spring-Security、Tomcat 过滤器或 Spring 的 AOP 执行身份验证?

似乎有很多方法可以做事,但我的首要任务是保持简单。

最佳答案

这可能是我见过的最伤脑筋的身份验证方式。身份验证不是REST API 的关注点,而是具有 Basic、Digest、Negotiate 等的底层框架/服务器的关注点。正如 duffymo 已经说过的,Spring Security 是最自然的方式。

关于spring - Java EE 模式 : authorisation and RESTful service implementation,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10961636/

相关文章:

java - 在 CXF 中,有没有办法以编程方式对客户端的配置进行编程?

java - Log4j:日志文件正确,但 Stdout 仅显示一个子集

security - 迫切需要有关 Glassfish 3.1 部署和 Maven 中运行问题的帮助

maven - Openxava+Maven+Tomcat7整合

java - 主机上的 "ClientAbortException",客户端上的 "SocketException: connection rest"

spring - @PreAuthorize 如何检查角色?

java - 如何在 Spring 中修改响应的 ReadOnlyHttpHeaders?

java - 如何在 Jquery 中使用 modelAttribute 值作为选择框

java - 什么是正确的路径

tomcat - NetBeans Maven {tomcat_base}/bin 文件夹作为假类路径