我想使用 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 对象。
问题:
即使使用 Jackson 的类也是一种 Controller ,我是否应该实现一个 Spring Controller ?或者,如果我使用 Jackson,是否不需要 Sping Controller ?
是否应该使用 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/