Java Code Examples for javax.security.sasl.SaslServer.getAuthorizationID()

The following are Jave code examples for showing how to use getAuthorizationID() of the javax.security.sasl.SaslServer class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
+ Save this method
Example 1
Project: jstorm-0.9.6.3-   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
@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);
}
 
Example 2
Project: learn_jstorm   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
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);
}
 
Example 3
Project: jstrom   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
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);
}
 
Example 4
Project: Tstream   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
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);
}
 
Example 5
Project: incubator-storm   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
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);
}
 
Example 6
Project: storm-resa   File: SaslTransportPlugin.java   View Source Code Vote up 6 votes
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);
}
 
Example 7
Project: krb-thrift   File: TUGIAssumingProcessor.java   View Source Code Vote up 4 votes
@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);
      }
    }
  }
}