Shiro, Multi Factor Authentication



有没有一种方法可以在Shiro中实现多因素身份验证?有人能给我一个如何实现的提示吗?

有关更多详细信息:其基本思想是,用户需要像往常一样使用用户名和密码登录,但在进行实际身份验证之前,用户还需要输入他作为短信收到的一次性令牌

谢谢!

我终于自己解决了问题,但我当然总是愿意接受其他建议。

我实现了我自己的2因素身份验证流程:

首先,我更改了登录页面的URL,Shiro将未经身份验证的用户重定向到我自己的登录页面,从而引入身份验证机制。用户需要完成两个"阶段"才能登录。

  • 在第一阶段,他/她必须提供用户名和密码,如果这些都是有效的,用户将重定向到登录的第二阶段
  • 同时,一次性令牌已生成并发送给用户通过短信。此外,用户的身份验证进度已保存在会议(这意味着我记得,第一阶段已经完成成功)
  • 在第2阶段,用户需要输入令牌。如果代币是
    • 无效或超过了尝试次数(5)
    • 过期(5分钟后)尝试次数要正确输入超过4的令牌,用户将被重定向到第1阶段,所有进度将被删除。我
  • 如果一切顺利,用户将通过Shiro的身份验证(当然没有让他/她知道)

最终,用户将被重定向到他/她最初请求的页面,这仍然允许他/她为页面添加书签。当然,志郎的"记住我"永远都是无效的。

相关内容

  • 没有找到相关文章

最新更新