当前位置: 首页>>代码示例>>Java>>正文


Java ServerCnxn.addAuthInfo方法代码示例

本文整理汇总了Java中org.apache.zookeeper.server.ServerCnxn.addAuthInfo方法的典型用法代码示例。如果您正苦于以下问题:Java ServerCnxn.addAuthInfo方法的具体用法?Java ServerCnxn.addAuthInfo怎么用?Java ServerCnxn.addAuthInfo使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.zookeeper.server.ServerCnxn的用法示例。


在下文中一共展示了ServerCnxn.addAuthInfo方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: handleAuthentication

import org.apache.zookeeper.server.ServerCnxn; //导入方法依赖的package包/类
public KeeperException.Code 
    handleAuthentication(ServerCnxn cnxn, byte[] authData)
{
    String id = new String(authData);
    try {
        String digest = generateDigest(id);
        if (digest.equals(superDigest)) {
            cnxn.addAuthInfo(new Id("super", ""));
        }
        cnxn.addAuthInfo(new Id(getScheme(), digest));
        return KeeperException.Code.OK;
    } catch (NoSuchAlgorithmException e) {
        LOG.error("Missing algorithm",e);
    }
    return KeeperException.Code.AUTHFAILED;
}
 
开发者ID:maoling,项目名称:fuck_zookeeper,代码行数:17,代码来源:DigestAuthenticationProvider.java

示例2: handleAuthentication

import org.apache.zookeeper.server.ServerCnxn; //导入方法依赖的package包/类
public KeeperException.Code
    handleAuthentication(ServerCnxn cnxn, byte[] authData)
{
    String id = cnxn.getRemoteSocketAddress().getAddress().getHostAddress();
    cnxn.addAuthInfo(new Id(getScheme(), id));
    return KeeperException.Code.OK;
}
 
开发者ID:maoling,项目名称:fuck_zookeeper,代码行数:8,代码来源:IPAuthenticationProvider.java

示例3: handleAuthentication

import org.apache.zookeeper.server.ServerCnxn; //导入方法依赖的package包/类
@Override
public KeeperException.Code handleAuthentication(ServerCnxn cnxn,
                                                 byte[] authData) {
    X509Certificate[] certChain
            = (X509Certificate[]) cnxn.getClientCertificateChain();

    if (certChain == null || certChain.length == 0) {
        return KeeperException.Code.AUTHFAILED;
    }

    if (trustManager == null) {
        LOG.error("No trust manager available to authenticate session 0x{}",
                Long.toHexString(cnxn.getSessionId()));
        return KeeperException.Code.AUTHFAILED;
    }

    X509Certificate clientCert = certChain[0];

    try {
        // Authenticate client certificate
        trustManager.checkClientTrusted(certChain,
                clientCert.getPublicKey().getAlgorithm());
    } catch (CertificateException ce) {
        LOG.error("Failed to trust certificate for session 0x" +
                Long.toHexString(cnxn.getSessionId()), ce);
        return KeeperException.Code.AUTHFAILED;
    }

    String clientId = getClientId(clientCert);

    if (clientId.equals(System.getProperty(
            ZOOKEEPER_X509AUTHENTICATIONPROVIDER_SUPERUSER))) {
        cnxn.addAuthInfo(new Id("super", clientId));
        LOG.info("Authenticated Id '{}' as super user", clientId);
    }

    Id authInfo = new Id(getScheme(), clientId);
    cnxn.addAuthInfo(authInfo);

    LOG.info("Authenticated Id '{}' for Scheme '{}'",
            authInfo.getId(), authInfo.getScheme());
    return KeeperException.Code.OK;
}
 
开发者ID:didichuxing2,项目名称:https-github.com-apache-zookeeper,代码行数:44,代码来源:X509AuthenticationProvider.java


注:本文中的org.apache.zookeeper.server.ServerCnxn.addAuthInfo方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。