本文整理汇总了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;
}
示例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;
}
示例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