1 Star 0 Fork 235

丁一 / sureness

forked from dromara / sureness 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
default-exception.md 2.39 KB
一键复制 编辑 原始数据 按行查看 历史
tomsun28 提交于 2020-12-23 00:16 . update docs and readme

sureness 默认认证鉴权异常

sureness使用异常处理流程:

  1. 若认证鉴权成功,checkIn会返回包含用户信息的SubjectSum对象
  2. 若中间认证鉴权失败,checkIn会抛出不同类型的认证鉴权异常,用户需根据这些异常来继续后面的流程(返回相应的请求响应)

这里我们就需要对checkIn抛出的异常做自定义处理,认证鉴权成功直接通过,失败抛出特定异常进行处理,如下:

        try {
            SubjectSum subject = SurenessSecurityManager.getInstance().checkIn(servletRequest);
        } catch (ProcessorNotFoundException | UnknownAccountException | UnsupportedSubjectException e4) {
            // 账户创建相关异常 
        } catch (DisabledAccountException | ExcessiveAttemptsException e2 ) {
            // 账户禁用相关异常
        } catch (IncorrectCredentialsException | ExpiredCredentialsException e3) {
            // 认证失败相关异常
        } catch (UnauthorizedException e5) {
            // 鉴权失败相关异常
        } catch (RuntimeException e) {
            // 其他自定义异常
        }

sureness 默认支持的异常处理流程中的异常如下:

sureness异常 异常描述
SurenessAuthenticationException 基础认证异常,认证相关的子异常应该继承此异常
SurenessAuthorizationException 基础鉴权异常,鉴权相关的子异常应该继承此异常
ProcessorNotFoundException 认证异常,未找到支持此subject的processor
UnknownAccountException 认证异常,不存在此账户
UnSupportedSubjectException 认证异常,不支持的请求,未创建出subject
DisabledAccountException 认证异常,账户禁用
ExcessiveAttemptsException 认证异常,账户尝试认证次数过多
IncrrectCredentialsException 认证异常,密钥错误
ExpiredCredentialsException 认证异常,密钥认证过期
NeedDigestInfoException 认证异常, 通过getAuthenticate()返回客户端digest认证所需信息
UnauthorizedException 鉴权异常,没有权限访问此资源

自定义异常需要继承SurenessAuthenticationExceptionSurenessAuthorizationException才能被最外层捕获

Java
1
https://gitee.com/dylloveyou/sureness.git
git@gitee.com:dylloveyou/sureness.git
dylloveyou
sureness
sureness
master

搜索帮助