美文网首页
AuthenticationManager源码分析

AuthenticationManager源码分析

作者: zjlearn | 来源:发表于2016-07-19 10:31 被阅读74次

    AuthenticationManager类

    AuthenticationManager类主要负责认证管理的部分。其初始化时,从配置文件中读取进行身份验证的类。如果没有则是默认的身份验证处理类(org.apache.sqoop.security.authentication.SimpleAuthenticationHandler)。

    初始化

    初始化的源代码如下:

    public synchronized void initialize() throws ClassNotFoundException, IllegalAccessException, InstantiationException {
            if(LOG.isTraceEnabled()) {
                LOG.trace("Begin authentication manager initialization");
            }
    
            String handler = SqoopConfiguration.getInstance().getContext().getString("org.apache.sqoop.security.authentication.handler", "org.apache.sqoop.security.authentication.SimpleAuthenticationHandler").trim();
            authenticationHandler = SecurityFactory.getAuthenticationHandler(handler);
            authenticationHandler.doInitialize();
            authenticationHandler.secureLogin();
            if(LOG.isInfoEnabled()) {
                LOG.info("Authentication loaded.");
            }
    
        }
    

    authenticationHandler类

    authenticationHandler类是对AuthenticationProvider类的封装。目前实现的子类有:

    AuthenticationProvider类

    AuthenticationProvider类 提供了用户的Name, 和相应的Group信息。
    AuthenticationProvider类提供了对SimpleAuthenticationHandler, 以及KerberosAuthenticationHandler两个子类。

    public abstract class AuthenticationProvider {
        public AuthenticationProvider() {
    
        public abstract String getUserName();
    
        public abstract String[] getGroupNames();
    }
    

    目前AuthenticationProvider的子类共有:DefaultAuthenticationProvider类。

    相关文章

      网友评论

          本文标题:AuthenticationManager源码分析

          本文链接:https://www.haomeiwen.com/subject/drhhjttx.html