背景
开发文档中,省长给出了简洁的二级认证实现:“使用注解进行二级认证”,只需一个 @SaCheckSafe 注解即可。但实际使用中,还是需要做更多操作的。
- 二级认证(二次登录)的操作时机应在何时?
- 如何通知用户需要二级认证(页面上)?
- 如何自动控制页面跳转,完成一个完整的二级认证过程?
准备:
- @SaCheckSafe 的本质:StpUtil.checkSafe()方法。即“检查当前会话是否已通过二级认证,如未通过则抛出异常”。
- 二级认证的操作流程应为:开启二级认证 > 二次登录(有效期内) > 完成(结束)二级认证。
- 二次登录的实质:StpUtil.login(Object id)
具体操作:
- 建立二次登录页面模板(/reLogin)及相应的后端登录逻辑(/doReLogin)。
- 流程 (部分样例代码可参考:Sa-Token 使用