0

My task is to use a send request and then to get some XML.

example: request: /api/ext/data.xml response: some XML

The application uses Spring MVC, so I just wrote controller method, and everything works OK, but I also need to implement authorization. This app does not use Spring security.

What should I do? Should I use session to save User authorization data?

4

2 回答 2

5

您仍然应该查看 Apache Shiro 和/或 Spring Security。然而,Spring Security(以及容器安全性)对于 REST API 安全性并不是那么友好。对于 Spring,您将需要实现自定义AuthenticationEntryPoint以避免在403. Shiro 对于 REST API 可能更容易一些。

如果你想自己做没有依赖或复杂性,你应该考虑编写一个Servlet 过滤器和/或利用容器安全性。妥协可能是这个SecurityFilter 项目。但是,如果您需要角色、ACL 等……您应该认真重新考虑 Shiro 或 Spring Security。

于 2013-07-24T11:09:29.830 回答
0

那么如何像 Amazon Web Services 那样实现自己的 HmacSha1 模型​​(签名请求)呢?

基础知识:客户端使用秘密访问密钥 (SAK) 和过期数据签署请求,获得 hmac 代码。然后客户端通过 POST 发送请求以及一些标头,例如 hmac 代码和过期数据以及您需要的任何内容。然后服务器在控制器(或拦截器)中获取您的请求,使用您的 SAK 和过期时间对其进行签名,并比较获取 hmacs 以验证用户。

于 2013-07-24T13:02:59.410 回答