Files
hertzbeat/home/i18n/en/docusaurus-plugin-content-docs/current/advanced/custom-processor.md
2022-02-04 22:23:44 +08:00

1.8 KiB
Raw Blame History

id, title, sidebar_label
id title sidebar_label
custom-processor 自定义processor 自定义processor

processor就是对请求的用户账户信息subject真正的认证鉴权处理器我们需要实现BaseProcessor接口来实现我们自定义的认证鉴权方式。
sureness已经内置基于账户密码认证方式处理PasswordSubject的PasswordProcessor基于jwt认证方式处理JwtSubject的JwtProcessor等。

自定义前建议了解sureness处理流程和提供的扩展接口,详见 进阶扩展

  • Processor: Subject处理接口,根据Subject信息,进行认证鉴权
public abstract class BaseProcessor implements Processor{

    public abstract boolean canSupportSubjectClass(Class<?> var);

    public abstract Subject authenticated (Subject var) throws SurenessAuthenticationException;

    public abstract void authorized(Subject var) throws SurenessAuthorizationException;
}

上面就是BaseProcessor的一些重要接口方法自定义processor需要我们去实现这些方法。

  • canSupportSubjectClass 判断是否支持入参的此Subject类类型比如 JwtProcessor只支持JwtSubject, PasswordProcessor只支持PasswordSubject
  • authenticated 对subject进行认证根据传入的subject信息和系统内信息进行请求用户的账户认证
  • authorized 对subject进行鉴权鉴权判断此用户是否拥有其访问api的访问权限

sureness使用异常流程模型以上的认证失败或鉴权失败都会抛出不同类型的异常用户在最外部捕获判断实现接下来的流程。

sureness默认异常类型参考 默认异常类型
具体扩展实践请参考 Springboot项目集成-数据库方案