authentication - Shiro,多重身份验证

标签 authentication shiro two-factor-authentication

有没有办法在 Shiro 中实现多因素身份验证?有人可以给我一个关于如何实现这一点的提示吗?

更多细节:
基本思想是,用户需要像往常一样使用用户名和密码登录,但在实际验证之前,用户还需要输入他作为 SMS 收到的一次性 token 。

谢谢!

最佳答案

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

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

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

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

  • 最后,用户将被重定向到他/她最初请求的页面,这仍然允许他/她为页面添加书签。当然,白的记住我总是会被停用。

    关于authentication - Shiro,多重身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18485664/

    相关文章:

    javascript - 将 Duo Web 2 因素身份验证与 ColdFusion 集成

    authentication - 有人可以解释 OIDC 中的 ACR 返回值吗?

    authentication - Web 应用程序的 PIN 码身份验证

    asp.net - 在同一请求中调用PasswordSignIn和SendTwoFactorCode

    java - Apache Shiro 登录错误 : IncorrectCredentialsException

    java - 如何使用 apache shiro 永久保持登录状态

    qr-code - 解码 Google 2 因素验证 QR 码格式

    Laravel 身份验证,我无法检索登录用户

    javascript - 如何使用 Apollo 实现突变的 auth 指令?

    java - 如何使用 Apache Shiro 1.2-SNAPSHOT 和 Guice 配置角色?