本文整理汇总了Java中javax.security.sasl.AuthorizeCallback类的典型用法代码示例。如果您正苦于以下问题:Java AuthorizeCallback类的具体用法?Java AuthorizeCallback怎么用?Java AuthorizeCallback使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
AuthorizeCallback类属于javax.security.sasl包,在下文中一共展示了AuthorizeCallback类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.info("Successfully authenticated client: authenticationID=" + authenticationID
+ "; authorizationID=" + authorizationID + ".");
ac.setAuthorized(true);
// canonicalize authorization id according to system properties:
// zookeeper.kerberos.removeRealmFromPrincipal(={true,false})
// zookeeper.kerberos.removeHostFromPrincipal(={true,false})
KerberosName kerberosName = new KerberosName(authenticationID);
try {
StringBuilder userNameBuilder = new StringBuilder(kerberosName.getShortName());
if (shouldAppendHost(kerberosName)) {
userNameBuilder.append("/").append(kerberosName.getHostName());
}
if (shouldAppendRealm(kerberosName)) {
userNameBuilder.append("@").append(kerberosName.getRealm());
}
LOG.info("Setting authorizedID: " + userNameBuilder);
ac.setAuthorizedID(userNameBuilder.toString());
} catch (IOException e) {
LOG.error("Failed to set name based on Kerberos authentication rules.");
}
}
示例2: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.info("Successfully authenticated client: authenticationID=" + authenticationID
+ "; authorizationID=" + authorizationID + ".");
ac.setAuthorized(true);
// canonicalize authorization id according to system properties:
// zookeeper.kerberos.removeRealmFromPrincipal(={true,false})
// zookeeper.kerberos.removeHostFromPrincipal(={true,false})
KerberosName kerberosName = new KerberosName(authenticationID);
try {
StringBuilder userNameBuilder = new StringBuilder(kerberosName.getShortName());
if (shouldAppendHost(kerberosName)) {
userNameBuilder.append("/").append(kerberosName.getHostName());
}
if (shouldAppendRealm(kerberosName)) {
userNameBuilder.append("@").append(kerberosName.getRealm());
}
LOG.info("Setting authorizedID: " + userNameBuilder);
ac.setAuthorizedID(userNameBuilder.toString());
} catch (IOException e) {
LOG.error("Failed to set name based on Kerberos authentication rules.", e);
}
}
开发者ID:didichuxing2,项目名称:https-github.com-apache-zookeeper,代码行数:27,代码来源:SaslServerCallbackHandler.java
示例3: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.info("Successfully authenticated client: authenticationID={}; authorizationID={}.", authenticationID,
authorizationID);
ac.setAuthorized(true);
KerberosName kerberosName = KerberosName.parse(authenticationID);
try {
String userName = kerberosShortNamer.shortName(kerberosName);
LOG.info("Setting authorizedID: {}", userName);
ac.setAuthorizedID(userName);
} catch (IOException e) {
LOG.error("Failed to set name for '{}' based on Kerberos authentication rules.", kerberosName, e);
}
}
示例4: handle
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback callback : callbacks) {
if (callback instanceof NameCallback) {
NameCallback nameCallback = (NameCallback) callback;
nameCallback.setName(nameCallback.getDefaultName());
} else if (callback instanceof PasswordCallback) {
PasswordCallback passwordCallback = (PasswordCallback) callback;
passwordCallback.setPassword(TestJaasConfig.PASSWORD.toCharArray());
} else if (callback instanceof RealmCallback) {
RealmCallback realmCallback = (RealmCallback) callback;
realmCallback.setText(realmCallback.getDefaultText());
} else if (callback instanceof AuthorizeCallback) {
AuthorizeCallback authCallback = (AuthorizeCallback) callback;
if (TestJaasConfig.USERNAME.equals(authCallback.getAuthenticationID())) {
authCallback.setAuthorized(true);
authCallback.setAuthorizedID(authCallback.getAuthenticationID());
}
}
}
}
示例5: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.info("Successfully authenticated client: authenticationID={}; authorizationID={}.", authenticationID,
authorizationID);
ac.setAuthorized(true);
KerberosName kerberosName = KerberosName.parse(authenticationID);
try {
String userName = kerberosShortNamer.shortName(kerberosName);
LOG.info("Setting authorizedID: {}", userName);
ac.setAuthorizedID(userName);
} catch (IOException e) {
LOG.error("Failed to set name based on Kerberos authentication rules.");
}
}
示例6: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.info("Successfully authenticated client: authenticationID=" + authenticationID
+ "; authorizationID=" + authorizationID + ".");
ac.setAuthorized(true);
KerberosName kerberosName = new KerberosName(authenticationID);
try {
StringBuilder userNameBuilder = new StringBuilder(kerberosName.getShortName());
userNameBuilder.append("/").append(kerberosName.getHostName());
userNameBuilder.append("@").append(kerberosName.getRealm());
LOG.info("Setting authorizedID: " + userNameBuilder);
ac.setAuthorizedID(userNameBuilder.toString());
} catch (IOException e) {
LOG.severe("Failed to set name based on Kerberos authentication rules.");
}
}
示例7: handle
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
@Override
public void handle(final Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (final Callback callback : callbacks) {
if (callback instanceof AuthorizeCallback) {
final AuthorizeCallback authorizeCallback = (AuthorizeCallback) callback;
if (!authorizeCallback.getAuthenticationID()
.equals(authorizeCallback.getAuthorizationID())) {
throw new SaslException("Drill expects authorization ID and authentication ID to match. " +
"Use inbound impersonation feature so one entity can act on behalf of another.");
} else {
authorizeCallback.setAuthorized(true);
}
} else {
throw new UnsupportedCallbackException(callback);
}
}
}
示例8: handle
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for(Callback callback : callbacks) {
if (callback instanceof NameCallback) {
NameCallback nameCallback = (NameCallback)callback;
nameCallback.setName("user");
} else if (callback instanceof PasswordCallback) {
PasswordCallback passwordCallback = (PasswordCallback)callback;
passwordCallback.setPassword(password.toCharArray());
} else if (callback instanceof AuthorizeCallback) {
AuthorizeCallback authorizeCallback = (AuthorizeCallback)callback;
authorizeCallback.setAuthorized(authorizeCallback.getAuthenticationID().equals(authorizeCallback.getAuthorizationID()));
} else if (callback instanceof RealmCallback) {
RealmCallback realmCallback = (RealmCallback) callback;
realmCallback.setText(REALM);
} else {
throw new UnsupportedCallbackException(callback);
}
}
}
示例9: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
String authorizationID = ac.getAuthorizationID();
LOG.severe("Successfully authenticated client: authenticationID=" + authenticationID
+ "; authorizationID=" + authorizationID + ".");
ac.setAuthorized(true);
KerberosName kerberosName = new KerberosName(authenticationID);
try {
StringBuilder userNameBuilder = new StringBuilder(kerberosName.getShortName());
userNameBuilder.append("/").append(kerberosName.getHostName());
userNameBuilder.append("@").append(kerberosName.getRealm());
LOG.severe("Setting authorizedID: " + userNameBuilder);
ac.setAuthorizedID(userNameBuilder.toString());
} catch (IOException e) {
LOG.severe("Failed to set name based on Kerberos authentication rules.");
}
}
示例10: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
LOG.info("Successfully authenticated client: authenticationID=" + authenticationID + " authorizationID= " + ac.getAuthorizationID());
// if authorizationId is not set, set it to authenticationId.
if (ac.getAuthorizationID() == null) {
ac.setAuthorizedID(authenticationID);
}
// When authNid and authZid are not equal , authNId is attempting to impersonate authZid, We
// add the authNid as the real user in reqContext's subject which will be used during authorization.
if (!ac.getAuthenticationID().equals(ac.getAuthorizationID())) {
ReqContext.context().setRealPrincipal(new SaslTransportPlugin.User(ac.getAuthenticationID()));
}
ac.setAuthorized(true);
}
示例11: handleAuthorizeCallback
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private void handleAuthorizeCallback(AuthorizeCallback ac) {
String authenticationID = ac.getAuthenticationID();
LOG.info("Successfully authenticated client: authenticationID = " + authenticationID + " authorizationID = " + ac.getAuthorizationID());
// if authorizationId is not set, set it to authenticationId.
if (ac.getAuthorizationID() == null) {
ac.setAuthorizedID(authenticationID);
}
// When authNid and authZid are not equal , authNId is attempting to impersonate authZid, We
// add the authNid as the real user in reqContext's subject which will be used during authorization.
if (!authenticationID.equals(ac.getAuthorizationID())) {
LOG.info("Impersonation attempt authenticationID = " + ac.getAuthenticationID() + " authorizationID = " + ac.getAuthorizationID());
ReqContext.context().setRealPrincipal(new SaslTransportPlugin.User(ac.getAuthenticationID()));
}
ac.setAuthorized(true);
}
示例12: handle
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
@Override
public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
for (Callback callback : callbacks) {
if (callback instanceof AuthorizeCallback) {
AuthorizeCallback authorizeCallback = (AuthorizeCallback) callback;
String authenticationId = authorizeCallback.getAuthenticationID();
String authorizationId = authorizeCallback.getAuthorizationID();
authorizeCallback.setAuthorized(authenticationId.equals(authorizationId));
} else if (callback instanceof NameCallback) {
((NameCallback) callback).setName("glowroot");
} else if (callback instanceof PasswordCallback) {
((PasswordCallback) callback).setPassword(password);
} else if (callback instanceof RealmCallback) {
((RealmCallback) callback).setText("glowroot");
}
}
}
示例13: assertDeserialized
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
public void assertDeserialized(Serializable oref, Serializable otest) {
AuthorizeCallback ref = (AuthorizeCallback) oref;
AuthorizeCallback test = (AuthorizeCallback) otest;
String idC = ref.getAuthenticationID();
String idZ = ref.getAuthorizationID();
String id = ref.getAuthorizedID();
boolean is = ref.isAuthorized();
if (idC == null) {
assertNull(test.getAuthenticationID());
} else {
assertEquals(test.getAuthenticationID(), idC);
}
if (idZ == null) {
assertNull(test.getAuthorizationID());
} else {
assertEquals(test.getAuthorizationID(), idZ);
}
if (id == null) {
assertNull(test.getAuthorizedID());
} else {
assertEquals(test.getAuthorizedID(), id);
}
assertEquals(test.isAuthorized(), is);
}
示例14: test01
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
/**
* Test for <code>AuthorizeCallback(String authnID, String authzID)</code>
* and get/set methods
*/
public void test01() {
AuthorizeCallback auth = new AuthorizeCallback(null, null);
assertNull(auth.getAuthenticationID());
assertNull(auth.getAuthorizationID());
assertNull(auth.getAuthorizedID());
assertFalse(auth.isAuthorized());
auth.setAuthorized(true);
assertTrue(auth.isAuthorized());
assertNull(auth.getAuthorizedID());
auth.setAuthorized(false);
assertNull(auth.getAuthorizedID());
assertFalse(auth.isAuthorized());
auth.setAuthorizedID("ZZZ");
auth.setAuthorized(true);
assertEquals(auth.getAuthorizedID(), "ZZZ");
assertNull(auth.getAuthorizationID());
assertTrue(auth.isAuthorized());
}
示例15: serverCallbackHandler
import javax.security.sasl.AuthorizeCallback; //导入依赖的package包/类
private CallbackHandler serverCallbackHandler(String username, String realm, String password) {
return callbacks -> {
for (Callback callback : callbacks) {
if (callback instanceof NameCallback) {
Assert.assertEquals(username, ((NameCallback) callback).getDefaultName());
} else if (callback instanceof RealmCallback) {
Assert.assertEquals(realm, ((RealmCallback) callback).getDefaultText());
} else if (callback instanceof PasswordCallback) {
((PasswordCallback) callback).setPassword(password.toCharArray());
} else if (callback instanceof AuthorizeCallback) {
((AuthorizeCallback) callback).setAuthorized(((AuthorizeCallback) callback).getAuthorizationID().equals(((AuthorizeCallback) callback).getAuthenticationID()));
} else {
throw new UnsupportedCallbackException(callback);
}
}
};
}