我之前实现了非常基本的用户身份验证 - 登录时生成会话cookie,当用户加载带身份验证的页面时,只需检查cookie。
但是,Spring Security / Apache Shiro的复杂性让我很困惑。
我真正想要的是:
看起来我可以选择使用EhCache或实现我自己的子类...某些东西......使用像postgres这样的东西。
我似乎已经得到了我想在Apache Shiro工作的第一件事:
Subject sub = SecurityUtils.getSubject();
UsernamePasswordToken token = new UsernamePasswordToken(username, password);
token.setRememberMe(remember);
try {
sub.login(token);
// ...
但我非常坚持如何让这个会话在重新启动spring webserver之间保持不变。就像,我知道Stackoverflow强烈推荐一个代码示例,但我甚至不知道从哪里开始。现在我试图弄清楚如何在重新启动之间保持会话(粗体以澄清我要问的内容)的“进展”实际上是单行
DefaultWebSecurityManager dwsm = new DefaultWebSecurityManager();
// ...
dwsm.setCacheManager(new EhCacheManager());
我甚至不知道实际上做了什么。
我真的很感激这里的任何指导,因为我甚至不知道从哪里开始,遗憾的是,我能找到的文件并不是非常彻底。
答案 0 :(得分:2)
这就是会议的问题之一。除非您保存会话,否则它们不会重新启动。
现在人们通常使用基于令牌的方法,如oauth2。
基于令牌的身份验证系统中的流程为: