本文整理匯總了Java中javax.security.sasl.SaslServer.getAuthorizationID方法的典型用法代碼示例。如果您正苦於以下問題:Java SaslServer.getAuthorizationID方法的具體用法?Java SaslServer.getAuthorizationID怎麽用?Java SaslServer.getAuthorizationID使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類javax.security.sasl.SaslServer
的用法示例。
在下文中一共展示了SaslServer.getAuthorizationID方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。
示例1: process
import javax.security.sasl.SaslServer; //導入方法依賴的package包/類
@Override
public boolean process(final TProtocol inProt, final TProtocol outProt)
throws TException {
// populating request context
ReqContext req_context = ReqContext.context();
TTransport trans = inProt.getTransport();
// Sasl transport
TSaslServerTransport saslTrans = (TSaslServerTransport) trans;
// remote address
TSocket tsocket = (TSocket) saslTrans.getUnderlyingTransport();
Socket socket = tsocket.getSocket();
req_context.setRemoteAddress(socket.getInetAddress());
// remote subject
SaslServer saslServer = saslTrans.getSaslServer();
String authId = saslServer.getAuthorizationID();
Subject remoteUser = new Subject();
remoteUser.getPrincipals().add(new User(authId));
req_context.setSubject(remoteUser);
// invoke service handler
return wrapped.process(inProt, outProt);
}
示例2: process
import javax.security.sasl.SaslServer; //導入方法依賴的package包/類
public boolean process(final TProtocol inProt, final TProtocol outProt)
throws TException {
// populating request context
ReqContext req_context = ReqContext.context();
TTransport trans = inProt.getTransport();
// Sasl transport
TSaslServerTransport saslTrans = (TSaslServerTransport) trans;
// remote address
TSocket tsocket = (TSocket) saslTrans.getUnderlyingTransport();
Socket socket = tsocket.getSocket();
req_context.setRemoteAddress(socket.getInetAddress());
// remote subject
SaslServer saslServer = saslTrans.getSaslServer();
String authId = saslServer.getAuthorizationID();
Subject remoteUser = new Subject();
remoteUser.getPrincipals().add(new User(authId));
req_context.setSubject(remoteUser);
// invoke service handler
return wrapped.process(inProt, outProt);
}
示例3: process
import javax.security.sasl.SaslServer; //導入方法依賴的package包/類
public boolean process(final TProtocol inProt, final TProtocol outProt) throws TException {
// populating request context
ReqContext req_context = ReqContext.context();
TTransport trans = inProt.getTransport();
// Sasl transport
TSaslServerTransport saslTrans = (TSaslServerTransport) trans;
// remote address
TSocket tsocket = (TSocket) saslTrans.getUnderlyingTransport();
Socket socket = tsocket.getSocket();
req_context.setRemoteAddress(socket.getInetAddress());
// remote subject
SaslServer saslServer = saslTrans.getSaslServer();
String authId = saslServer.getAuthorizationID();
Subject remoteUser = new Subject();
remoteUser.getPrincipals().add(new User(authId));
req_context.setSubject(remoteUser);
// invoke service handler
return wrapped.process(inProt, outProt);
}
示例4: process
import javax.security.sasl.SaslServer; //導入方法依賴的package包/類
public boolean process(final TProtocol inProt, final TProtocol outProt) throws TException {
//populating request context
ReqContext req_context = ReqContext.context();
TTransport trans = inProt.getTransport();
//Sasl transport
TSaslServerTransport saslTrans = (TSaslServerTransport)trans;
//remote address
TSocket tsocket = (TSocket)saslTrans.getUnderlyingTransport();
Socket socket = tsocket.getSocket();
req_context.setRemoteAddress(socket.getInetAddress());
//remote subject
SaslServer saslServer = saslTrans.getSaslServer();
String authId = saslServer.getAuthorizationID();
Subject remoteUser = new Subject();
remoteUser.getPrincipals().add(new User(authId));
req_context.setSubject(remoteUser);
//invoke service handler
return wrapped.process(inProt, outProt);
}
示例5: process
import javax.security.sasl.SaslServer; //導入方法依賴的package包/類
@Override
public boolean process(final TProtocol inProt, final TProtocol outProt) throws TException {
TTransport trans = inProt.getTransport();
if (!(trans instanceof TSaslServerTransport)) {
throw new TException("Unexpected non-SASL transport " + trans.getClass());
}
TSaslServerTransport saslTrans = (TSaslServerTransport) trans;
SaslServer saslServer = saslTrans.getSaslServer();
String authId = saslServer.getAuthorizationID();
String endUser = authId;
UserGroupInformation clientUgi = null;
try {
clientUgi = UserGroupInformation.createProxyUser(endUser, UserGroupInformation.getLoginUser());
final String remoteUser = clientUgi.getShortUserName();
log.debug("Executing action as {}", remoteUser);
return clientUgi.doAs(new PrivilegedExceptionAction<Boolean>() {
@Override
public Boolean run() {
try {
return wrapped.process(inProt, outProt);
} catch (TException te) {
throw new RuntimeException(te);
}
}
});
} catch (RuntimeException rte) {
if (rte.getCause() instanceof TException) {
log.error("Failed to invoke wrapped processor", rte.getCause());
throw (TException) rte.getCause();
}
throw rte;
} catch (InterruptedException | IOException e) {
log.error("Failed to invoke wrapped processor", e);
throw new RuntimeException(e);
} finally {
if (clientUgi != null) {
try {
FileSystem.closeAllForUGI(clientUgi);
} catch (IOException exception) {
log.error("Could not clean up file-system handles for UGI: {}", clientUgi, exception);
}
}
}
}