Class CaptchaChallengeCommandHandler

java.lang.Object
com.sankcrm.erp.auth.application.authz.captcha.CaptchaChallengeCommandHandler
All Implemented Interfaces:
com.sankcrm.erp.bus.CommandHandler<CaptchaChallengeResponse,CaptchaChallengeCommand>

@Component @Transactional(timeout=60, rollbackFor=java.lang.Exception.class) public class CaptchaChallengeCommandHandler extends Object implements com.sankcrm.erp.bus.CommandHandler<CaptchaChallengeResponse,CaptchaChallengeCommand>
编排公开验证码挑战生成、限流和刷新;策略不要求时返回 required=false。
  • Constructor Details

    • CaptchaChallengeCommandHandler

      public CaptchaChallengeCommandHandler()
  • Method Details

    • handle

      public CaptchaChallengeResponse handle(CaptchaChallengeCommand command) throws com.sankcrm.erp.common.exception.CoreException
      校验请求后生成并原子保存一次性挑战。
      Specified by:
      handle in interface com.sankcrm.erp.bus.CommandHandler<CaptchaChallengeResponse,CaptchaChallengeCommand>
      Parameters:
      command - 应用、挑战请求及附加限流地址
      Returns:
      required 状态、挑战图片及过期秒数
      Throws:
      com.sankcrm.erp.common.exception.CoreException - 请求无效、限流或 Redis 不可用时抛出;启用策略下存储故障失败关闭
    • required

      protected boolean required(App app, String authType, String account) throws com.sankcrm.erp.common.exception.CoreException
      Throws:
      com.sankcrm.erp.common.exception.CoreException