Class ComboAuthCommandHandler
java.lang.Object
com.sankcrm.erp.auth.application.authz.command.create.ComboAuthCommandHandler
- All Implemented Interfaces:
com.sankcrm.erp.bus.CommandHandler<AuthzResult,ComboAuthCommand>
@Component
@Transactional(timeout=60,
rollbackFor=java.lang.Exception.class)
public class ComboAuthCommandHandler
extends Object
implements com.sankcrm.erp.bus.CommandHandler<AuthzResult,ComboAuthCommand>
处理组合认证
- Since:
- 2.4.0
- Author:
- zhsxin
- create time:
- 2024-06-06 10:56
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionhandle(ComboAuthCommand command) 验证组合认证命令并在所有因子通过后统一完成一次登录。protected voidverifyTopLevelCaptcha(App app, AuthzCommand passwordAuth, com.sankcrm.erp.auth.sdk.authz.command.CaptchaAnswer answer) 组合认证只在顶层校验一次验证码,内部 verifyOnly 不再次消费答案。
-
Constructor Details
-
ComboAuthCommandHandler
public ComboAuthCommandHandler()
-
-
Method Details
-
handle
public AuthzResult handle(ComboAuthCommand command) throws com.sankcrm.erp.common.exception.CoreException 验证组合认证命令并在所有因子通过后统一完成一次登录。- Specified by:
handlein interfacecom.sankcrm.erp.bus.CommandHandler<AuthzResult,ComboAuthCommand> - Parameters:
command- 包含多个认证因子及可选顶层验证码的组合命令- Returns:
- 唯一一次授权完成后的结果
- Throws:
com.sankcrm.erp.common.exception.CoreException- 任一因子、账号一致性、验证码或最终授权失败时抛出
-
verifyTopLevelCaptcha
protected void verifyTopLevelCaptcha(App app, AuthzCommand passwordAuth, com.sankcrm.erp.auth.sdk.authz.command.CaptchaAnswer answer) throws com.sankcrm.erp.common.exception.CoreException 组合认证只在顶层校验一次验证码,内部 verifyOnly 不再次消费答案。- Throws:
com.sankcrm.erp.common.exception.CoreException
-