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


Java DelegationTokenIdentifier类代码示例

本文整理汇总了Java中org.apache.hadoop.lib.service.DelegationTokenIdentifier的典型用法代码示例。如果您正苦于以下问题:Java DelegationTokenIdentifier类的具体用法?Java DelegationTokenIdentifier怎么用?Java DelegationTokenIdentifier使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


DelegationTokenIdentifier类属于org.apache.hadoop.lib.service包,在下文中一共展示了DelegationTokenIdentifier类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: createToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Creates a delegation token.
 *
 * @param ugi UGI creating the token.
 * @param renewer token renewer.
 * @return new delegation token.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * created.
 */
@Override
public Token<DelegationTokenIdentifier> createToken(UserGroupInformation ugi,
                                                    String renewer)
  throws DelegationTokenManagerException {
  renewer = (renewer == null) ? ugi.getShortUserName() : renewer;
  String user = ugi.getUserName();
  Text owner = new Text(user);
  Text realUser = null;
  if (ugi.getRealUser() != null) {
    realUser = new Text(ugi.getRealUser().getUserName());
  }
  DelegationTokenIdentifier tokenIdentifier =
    new DelegationTokenIdentifier(owner, new Text(renewer), realUser);
  Token<DelegationTokenIdentifier> token =
    new Token<DelegationTokenIdentifier>(tokenIdentifier, secretManager);
  try {
    SecurityUtil.setTokenService(token,
                                 HttpFSServerWebApp.get().getAuthority());
  } catch (ServerException ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT04, ex.toString(), ex);
  }
  return token;
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:34,代码来源:DelegationTokenManagerService.java

示例2: verifyToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Verifies a delegation token.
 *
 * @param token delegation token to verify.
 * @return the UGI for the token.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * verified.
 */
@Override
public UserGroupInformation verifyToken(Token<DelegationTokenIdentifier> token)
  throws DelegationTokenManagerException {
  ByteArrayInputStream buf = new ByteArrayInputStream(token.getIdentifier());
  DataInputStream dis = new DataInputStream(buf);
  DelegationTokenIdentifier id = new DelegationTokenIdentifier();
  try {
    id.readFields(dis);
    dis.close();
    secretManager.verifyToken(id, token.getPassword());
  } catch (Exception ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT01, ex.toString(), ex);
  }
  return id.getUser();
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:25,代码来源:DelegationTokenManagerService.java

示例3: testValidDelegationToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testValidDelegationToken(AuthenticationHandler handler)
  throws Exception {
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Token<DelegationTokenIdentifier> dToken =
    HttpFSServerWebApp.get().get(DelegationTokenManager.class).createToken(
      UserGroupInformation.getCurrentUser(), "user");
  Mockito.when(request.getParameter(HttpFSKerberosAuthenticator.DELEGATION_PARAM)).
    thenReturn(dToken.encodeToUrlString());

  AuthenticationToken token = handler.authenticate(request, response);
  Assert.assertEquals(UserGroupInformation.getCurrentUser().getShortUserName(),
                      token.getUserName());
  Assert.assertEquals(0, token.getExpires());
  Assert.assertEquals(HttpFSKerberosAuthenticationHandler.TYPE,
                      token.getType());
  Assert.assertTrue(token.isExpired());
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:19,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例4: createToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Creates a delegation token.
 *
 * @param ugi
 *     UGI creating the token.
 * @param renewer
 *     token renewer.
 * @return new delegation token.
 * @throws DelegationTokenManagerException
 *     thrown if the token could not be
 *     created.
 */
@Override
public Token<DelegationTokenIdentifier> createToken(UserGroupInformation ugi,
    String renewer) throws DelegationTokenManagerException {
  renewer = (renewer == null) ? ugi.getShortUserName() : renewer;
  String user = ugi.getUserName();
  Text owner = new Text(user);
  Text realUser = null;
  if (ugi.getRealUser() != null) {
    realUser = new Text(ugi.getRealUser().getUserName());
  }
  DelegationTokenIdentifier tokenIdentifier =
      new DelegationTokenIdentifier(owner, new Text(renewer), realUser);
  Token<DelegationTokenIdentifier> token =
      new Token<>(tokenIdentifier, secretManager);
  try {
    SecurityUtil
        .setTokenService(token, HttpFSServerWebApp.get().getAuthority());
  } catch (ServerException ex) {
    throw new DelegationTokenManagerException(
        DelegationTokenManagerException.ERROR.DT04, ex.toString(), ex);
  }
  return token;
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:36,代码来源:DelegationTokenManagerService.java

示例5: verifyToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Verifies a delegation token.
 *
 * @param token
 *     delegation token to verify.
 * @return the UGI for the token.
 * @throws DelegationTokenManagerException
 *     thrown if the token could not be
 *     verified.
 */
@Override
public UserGroupInformation verifyToken(
    Token<DelegationTokenIdentifier> token)
    throws DelegationTokenManagerException {
  ByteArrayInputStream buf = new ByteArrayInputStream(token.getIdentifier());
  DataInputStream dis = new DataInputStream(buf);
  DelegationTokenIdentifier id = new DelegationTokenIdentifier();
  try {
    id.readFields(dis);
    dis.close();
    secretManager.verifyToken(id, token.getPassword());
  } catch (Exception ex) {
    throw new DelegationTokenManagerException(
        DelegationTokenManagerException.ERROR.DT01, ex.toString(), ex);
  }
  return id.getUser();
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:28,代码来源:DelegationTokenManagerService.java

示例6: testValidDelegationToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testValidDelegationToken(AuthenticationHandler handler)
    throws Exception {
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Token<DelegationTokenIdentifier> dToken =
      HttpFSServerWebApp.get().get(DelegationTokenManager.class)
          .createToken(UserGroupInformation.getCurrentUser(), "user");
  Mockito.when(
      request.getParameter(HttpFSKerberosAuthenticator.DELEGATION_PARAM)).
      thenReturn(dToken.encodeToUrlString());

  AuthenticationToken token = handler.authenticate(request, response);
  Assert
      .assertEquals(UserGroupInformation.getCurrentUser().getShortUserName(),
          token.getUserName());
  Assert.assertEquals(0, token.getExpires());
  Assert.assertEquals(HttpFSKerberosAuthenticationHandler.TYPE,
      token.getType());
  Assert.assertTrue(token.isExpired());
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:21,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例7: createToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Creates a delegation token.
 *
 * @param ugi UGI creating the token.
 * @param renewer token renewer.
 * @return new delegation token.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * created.
 */
@Override
public Token<DelegationTokenIdentifier> createToken(UserGroupInformation ugi,
                                                    String renewer)
  throws DelegationTokenManagerException {
  renewer = (renewer == null) ? ugi.getShortUserName() : renewer;
  String user = ugi.getUserName();
  Text owner = new Text(user);
  Text realUser = null;
  if (ugi.getRealUser() != null) {
    realUser = new Text(ugi.getRealUser().getUserName());
  }
  DelegationTokenIdentifier tokenIdentifier =
    new DelegationTokenIdentifier(tokenKind, owner, new Text(renewer), realUser);
  Token<DelegationTokenIdentifier> token =
    new Token<DelegationTokenIdentifier>(tokenIdentifier, secretManager);
  try {
    SecurityUtil.setTokenService(token,
                                 HttpFSServerWebApp.get().getAuthority());
  } catch (ServerException ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT04, ex.toString(), ex);
  }
  return token;
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:34,代码来源:DelegationTokenManagerService.java

示例8: verifyToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Verifies a delegation token.
 *
 * @param token delegation token to verify.
 * @return the UGI for the token.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * verified.
 */
@Override
public UserGroupInformation verifyToken(Token<DelegationTokenIdentifier> token)
  throws DelegationTokenManagerException {
  ByteArrayInputStream buf = new ByteArrayInputStream(token.getIdentifier());
  DataInputStream dis = new DataInputStream(buf);
  DelegationTokenIdentifier id = new DelegationTokenIdentifier(tokenKind);
  try {
    id.readFields(dis);
    dis.close();
    secretManager.verifyToken(id, token.getPassword());
  } catch (Exception ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT01, ex.toString(), ex);
  }
  return id.getUser();
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:25,代码来源:DelegationTokenManagerService.java

示例9: renewToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Renews a delegation token.
 *
 * @param token delegation token to renew.
 * @param renewer token renewer.
 * @return epoc expiration time.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * renewed.
 */
@Override
public long renewToken(Token<DelegationTokenIdentifier> token, String renewer)
  throws DelegationTokenManagerException {
  try {
    return secretManager.renewToken(token, renewer);
  } catch (IOException ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT02, ex.toString(), ex);
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:20,代码来源:DelegationTokenManagerService.java

示例10: cancelToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
/**
 * Cancels a delegation token.
 *
 * @param token delegation token to cancel.
 * @param canceler token canceler.
 * @throws DelegationTokenManagerException thrown if the token could not be
 * canceled.
 */
@Override
public void cancelToken(Token<DelegationTokenIdentifier> token,
                        String canceler)
  throws DelegationTokenManagerException {
  try {
    secretManager.cancelToken(token, canceler);
  } catch (IOException ex) {
    throw new DelegationTokenManagerException(
      DelegationTokenManagerException.ERROR.DT03, ex.toString(), ex);
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:20,代码来源:DelegationTokenManagerService.java

示例11: testCancelToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testCancelToken(AuthenticationHandler handler)
  throws Exception {
  DelegationTokenOperation op =
    DelegationTokenOperation.CANCELDELEGATIONTOKEN;
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Mockito.when(request.getParameter(HttpFSFileSystem.OP_PARAM)).
    thenReturn(op.toString());
  Mockito.when(request.getMethod()).
    thenReturn(op.getHttpMethod());

  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response).sendError(
    Mockito.eq(HttpServletResponse.SC_BAD_REQUEST),
    Mockito.contains("requires the parameter [token]"));

  Mockito.reset(response);
  Token<DelegationTokenIdentifier> token =
    HttpFSServerWebApp.get().get(DelegationTokenManager.class).createToken(
      UserGroupInformation.getCurrentUser(), "foo");
  Mockito.when(request.getParameter(HttpFSKerberosAuthenticator.TOKEN_PARAM)).
    thenReturn(token.encodeToUrlString());
  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
  try {
    HttpFSServerWebApp.get().get(DelegationTokenManager.class).verifyToken(token);
    Assert.fail();
  }
  catch (DelegationTokenManagerException ex) {
    Assert.assertTrue(ex.toString().contains("DT01"));
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:33,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例12: testRenewToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testRenewToken(AuthenticationHandler handler)
  throws Exception {
  DelegationTokenOperation op =
    DelegationTokenOperation.RENEWDELEGATIONTOKEN;
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Mockito.when(request.getParameter(HttpFSFileSystem.OP_PARAM)).
    thenReturn(op.toString());
  Mockito.when(request.getMethod()).
    thenReturn(op.getHttpMethod());

  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response).sendError(
    Mockito.eq(HttpServletResponse.SC_UNAUTHORIZED),
    Mockito.contains("equires SPNEGO authentication established"));

  Mockito.reset(response);
  AuthenticationToken token = Mockito.mock(AuthenticationToken.class);
  Mockito.when(token.getUserName()).thenReturn("user");
  Assert.assertFalse(handler.managementOperation(token, request, response));
  Mockito.verify(response).sendError(
    Mockito.eq(HttpServletResponse.SC_BAD_REQUEST),
    Mockito.contains("requires the parameter [token]"));

  Mockito.reset(response);
  StringWriter writer = new StringWriter();
  PrintWriter pwriter = new PrintWriter(writer);
  Mockito.when(response.getWriter()).thenReturn(pwriter);
  Token<DelegationTokenIdentifier> dToken =
    HttpFSServerWebApp.get().get(DelegationTokenManager.class).createToken(
      UserGroupInformation.getCurrentUser(), "user");
  Mockito.when(request.getParameter(HttpFSKerberosAuthenticator.TOKEN_PARAM)).
    thenReturn(dToken.encodeToUrlString());
  Assert.assertFalse(handler.managementOperation(token, request, response));
  Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
  pwriter.close();
  Assert.assertTrue(writer.toString().contains("long"));
  HttpFSServerWebApp.get().get(DelegationTokenManager.class).verifyToken(dToken);
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:40,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例13: testCancelToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testCancelToken(AuthenticationHandler handler) throws Exception {
  DelegationTokenOperation op =
      DelegationTokenOperation.CANCELDELEGATIONTOKEN;
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Mockito.when(request.getParameter(HttpFSFileSystem.OP_PARAM)).
      thenReturn(op.toString());
  Mockito.when(request.getMethod()).
      thenReturn(op.getHttpMethod());

  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response)
      .sendError(Mockito.eq(HttpServletResponse.SC_BAD_REQUEST),
          Mockito.contains("requires the parameter [token]"));

  Mockito.reset(response);
  Token<DelegationTokenIdentifier> token =
      HttpFSServerWebApp.get().get(DelegationTokenManager.class)
          .createToken(UserGroupInformation.getCurrentUser(), "foo");
  Mockito.when(request.getParameter(HttpFSKerberosAuthenticator.TOKEN_PARAM)).
      thenReturn(token.encodeToUrlString());
  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
  try {
    HttpFSServerWebApp.get().get(DelegationTokenManager.class)
        .verifyToken(token);
    Assert.fail();
  } catch (DelegationTokenManagerException ex) {
    Assert.assertTrue(ex.toString().contains("DT01"));
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:32,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例14: testRenewToken

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
private void testRenewToken(AuthenticationHandler handler) throws Exception {
  DelegationTokenOperation op = DelegationTokenOperation.RENEWDELEGATIONTOKEN;
  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
  Mockito.when(request.getParameter(HttpFSFileSystem.OP_PARAM)).
      thenReturn(op.toString());
  Mockito.when(request.getMethod()).
      thenReturn(op.getHttpMethod());

  Assert.assertFalse(handler.managementOperation(null, request, response));
  Mockito.verify(response)
      .sendError(Mockito.eq(HttpServletResponse.SC_UNAUTHORIZED),
          Mockito.contains("equires SPNEGO authentication established"));

  Mockito.reset(response);
  AuthenticationToken token = Mockito.mock(AuthenticationToken.class);
  Mockito.when(token.getUserName()).thenReturn("user");
  Assert.assertFalse(handler.managementOperation(token, request, response));
  Mockito.verify(response)
      .sendError(Mockito.eq(HttpServletResponse.SC_BAD_REQUEST),
          Mockito.contains("requires the parameter [token]"));

  Mockito.reset(response);
  StringWriter writer = new StringWriter();
  PrintWriter pwriter = new PrintWriter(writer);
  Mockito.when(response.getWriter()).thenReturn(pwriter);
  Token<DelegationTokenIdentifier> dToken =
      HttpFSServerWebApp.get().get(DelegationTokenManager.class)
          .createToken(UserGroupInformation.getCurrentUser(), "user");
  Mockito.when(request.getParameter(HttpFSKerberosAuthenticator.TOKEN_PARAM)).
      thenReturn(dToken.encodeToUrlString());
  Assert.assertFalse(handler.managementOperation(token, request, response));
  Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);
  pwriter.close();
  Assert.assertTrue(writer.toString().contains("long"));
  HttpFSServerWebApp.get().get(DelegationTokenManager.class)
      .verifyToken(dToken);
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:39,代码来源:TestHttpFSKerberosAuthenticationHandler.java

示例15: createIdentifier

import org.apache.hadoop.lib.service.DelegationTokenIdentifier; //导入依赖的package包/类
@Override
public DelegationTokenIdentifier createIdentifier() {
  return new DelegationTokenIdentifier();
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:5,代码来源:DelegationTokenManagerService.java


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