客观
一个人创建资源(无需连接)时,会收到一个唯一的令牌,然后必须将该令牌传输到她发送的每个请求中,以获取有关其资源的信息。
问题
使用Spring可以做到这一点吗?确实,我找到并阅读的所有Tuto都使用了带有用户名和密码的身份验证。
已尝试
我的第一个想法是在POST
方法的末尾创建一个令牌(将其存储到数据库中),将其放入每个GET
请求中,并检查是否requestToken == databaseToken
。
但是,我认为这不是最好的方法。
那么,您能帮助我并建议我解决问题吗?
非常感谢!
答案 0 :(得分:0)
有多种方法。
使用@SessionAttributes批注:
第一次访问我们的控制器时,Spring将实例化一个实例并将其放置在Model中。由于我们还在@SessionAttributes中声明了bean,因此Spring将存储实例。
您将通过@ModelAttribute在控制器的处理程序方法中获取它。
或者,您可以尝试以下路线:
@RequestMapping(value = "/test")
public String handler(HttpSession httpSession) {
httpSession.getId(); //this will give you unique identifier that you can set back to object that you send to front end and can share the same ID between requests.
}
https://docs.oracle.com/javaee/7/api/javax/servlet/http/HttpSession.html#getId--