前言
通过openLooKeng的官网https://openlookeng.io/zh-cn/docs/docs/overview.html我们可以知道其支持对外部用户的认证的,主要方式有Kerberos和Password(LDAP)认证,本文主要讲解其认证原理。
认证机制
在了解认证之前不得不提一下Servlet中的FilterChain的doFilter方法的作用如下图示,在客户端和服务器端之间会有很多filter,通常称为filter链。通过FilterChain我们可能进行很多的过虑操作。当然我们也可以通过Filter对用户时进行认证。其中openLooKeng的认证就是在Filter中的doFilter完成的。
在openLooKeng的代码中认证相关的filter会在ServerSecurityModule类中进行注册,AuthenticationFilter和PaswordAuthenticatorManager就是跟认证相关的。
当然从该模块中我们还知道除了支持Kerberos和Password认证之外还支持CERTIFICATE和JWT。
当请求来到时会先经过前面注册的AuthenticationFilter,该类实现了Filter的doFilter方法,