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


Java KerberosTestUtils.doAsClient方法代码示例

本文整理汇总了Java中org.apache.hadoop.security.authentication.KerberosTestUtils.doAsClient方法的典型用法代码示例。如果您正苦于以下问题:Java KerberosTestUtils.doAsClient方法的具体用法?Java KerberosTestUtils.doAsClient怎么用?Java KerberosTestUtils.doAsClient使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.security.authentication.KerberosTestUtils的用法示例。


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

示例1: cancelDelegationToken

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
private void cancelDelegationToken(final String tokenString) throws Exception {

    KerberosTestUtils.doAsClient(new Callable<Void>() {
      @Override
      public Void call() throws Exception {
        URL url =
            new URL("http://localhost:8088/ws/v1/cluster/delegation-token");
        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
        conn.setRequestProperty(RMWebServices.DELEGATION_TOKEN_HEADER,
          tokenString);
        setupConn(conn, "DELETE", null, null);
        InputStream response = conn.getInputStream();
        assertEquals(Status.OK.getStatusCode(), conn.getResponseCode());
        response.close();
        return null;
      }
    });
  }
 
开发者ID:naver,项目名称:hadoop,代码行数:19,代码来源:TestRMWebServicesDelegationTokenAuthentication.java

示例2: verifyKerberosAuthCreate

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
private void verifyKerberosAuthCreate(String mType, String cType,
    String reqBody, String renUser) throws Exception {
  final String mediaType = mType;
  final String contentType = cType;
  final String body = reqBody;
  final String renewer = renUser;
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      ClientResponse response =
          resource().path("ws").path("v1").path("cluster")
            .path("delegation-token").accept(contentType)
            .entity(body, mediaType).post(ClientResponse.class);
      assertEquals(Status.OK, response.getClientResponseStatus());
      DelegationToken tok = getDelegationTokenFromResponse(response);
      assertFalse(tok.getToken().isEmpty());
      Token<RMDelegationTokenIdentifier> token =
          new Token<RMDelegationTokenIdentifier>();
      token.decodeFromUrlString(tok.getToken());
      assertEquals(renewer, token.decodeIdentifier().getRenewer().toString());
      assertValidRMToken(tok.getToken());
      DelegationToken dtoken = new DelegationToken();
      response =
          resource().path("ws").path("v1").path("cluster")
            .path("delegation-token").accept(contentType)
            .entity(dtoken, mediaType).post(ClientResponse.class);
      assertEquals(Status.OK, response.getClientResponseStatus());
      tok = getDelegationTokenFromResponse(response);
      assertFalse(tok.getToken().isEmpty());
      token = new Token<RMDelegationTokenIdentifier>();
      token.decodeFromUrlString(tok.getToken());
      assertEquals("", token.decodeIdentifier().getRenewer().toString());
      assertValidRMToken(tok.getToken());
      return null;
    }
  });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:38,代码来源:TestRMWebServicesDelegationTokens.java

示例3: testAuthentication

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthentication() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthentication(new KerberosAuthenticator(), false);
      return null;
    }
  });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例4: testAuthenticationPost

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthenticationPost() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthentication(new KerberosAuthenticator(), true);
      return null;
    }
  });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例5: testAuthenticationHttpClient

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthenticationHttpClient() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthenticationHttpClient(new KerberosAuthenticator(), false);
      return null;
    }
  });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例6: testAuthenticationHttpClientPost

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthenticationHttpClientPost() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthenticationHttpClient(new KerberosAuthenticator(), true);
      return null;
    }
  });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例7: getDelegationToken

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
private String getDelegationToken(final String renewer) throws Exception {
  return KerberosTestUtils.doAsClient(new Callable<String>() {
    @Override
    public String call() throws Exception {
      String ret = null;
      String body = "{\"renewer\":\"" + renewer + "\"}";
      URL url =
          new URL("http://localhost:8088/ws/v1/cluster/delegation-token");
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();
      setupConn(conn, "POST", MediaType.APPLICATION_JSON, body);
      InputStream response = conn.getInputStream();
      assertEquals(Status.OK.getStatusCode(), conn.getResponseCode());
      BufferedReader reader = null;
      try {
        reader = new BufferedReader(new InputStreamReader(response, "UTF8"));
        for (String line; (line = reader.readLine()) != null;) {
          JSONObject obj = new JSONObject(line);
          if (obj.has("token")) {
            reader.close();
            response.close();
            ret = obj.getString("token");
            break;
          }
        }
      } finally {
        IOUtils.closeQuietly(reader);
        IOUtils.closeQuietly(response);
      }
      return ret;
    }
  });
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:33,代码来源:TestRMWebServicesDelegationTokenAuthentication.java

示例8: testAuthentication

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
public void testAuthentication() throws Exception {
  setAuthenticationHandlerConfig(getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      _testAuthentication(new KerberosAuthenticator(), false);
      return null;
    }
  });
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:11,代码来源:TestKerberosAuthenticator.java

示例9: testAuthenticationPost

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
public void testAuthenticationPost() throws Exception {
  setAuthenticationHandlerConfig(getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      _testAuthentication(new KerberosAuthenticator(), true);
      return null;
    }
  });
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:11,代码来源:TestKerberosAuthenticator.java

示例10: testAuthenticationWithMultiAuthHandler

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout = 60000)
public void testAuthenticationWithMultiAuthHandler() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase
      .setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthentication(new KerberosAuthenticator(), false);
      return null;
    }
  });
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例11: testAuthenticationHttpClientPostWithMultiAuthHandler

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout = 60000)
public void testAuthenticationHttpClientPostWithMultiAuthHandler()
    throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase(useTomcat);
  AuthenticatorTestCase
      .setAuthenticationHandlerConfig(getMultiAuthHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthenticationHttpClient(new KerberosAuthenticator(), true);
      return null;
    }
  });
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:15,代码来源:TestKerberosAuthenticator.java

示例12: testAuthentication

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthentication() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase();
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthentication(new KerberosAuthenticator(), false);
      return null;
    }
  });
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例13: testAuthenticationPost

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
@Test(timeout=60000)
public void testAuthenticationPost() throws Exception {
  final AuthenticatorTestCase auth = new AuthenticatorTestCase();
  AuthenticatorTestCase.setAuthenticationHandlerConfig(
          getAuthenticationHandlerConfiguration());
  KerberosTestUtils.doAsClient(new Callable<Void>() {
    @Override
    public Void call() throws Exception {
      auth._testAuthentication(new KerberosAuthenticator(), true);
      return null;
    }
  });
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:14,代码来源:TestKerberosAuthenticator.java

示例14: testRequestWithAuthorization

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
public void testRequestWithAuthorization() throws Exception {
  String token = KerberosTestUtils.doAsClient(new Callable<String>() {
    @Override
    public String call() throws Exception {
      GSSManager gssManager = GSSManager.getInstance();
      GSSContext gssContext = null;
      try {
        String servicePrincipal = KerberosTestUtils.getServerPrincipal();
        Oid oid = KerberosUtil.getOidInstance("NT_GSS_KRB5_PRINCIPAL");
        GSSName serviceName = gssManager.createName(servicePrincipal,
            oid);
        oid = KerberosUtil.getOidInstance("GSS_KRB5_MECH_OID");
        gssContext = gssManager.createContext(serviceName, oid, null,
                                                GSSContext.DEFAULT_LIFETIME);
        gssContext.requestCredDeleg(true);
        gssContext.requestMutualAuth(true);

        byte[] inToken = new byte[0];
        byte[] outToken = gssContext.initSecContext(inToken, 0, inToken.length);
        Base64 base64 = new Base64(0);
        return base64.encodeToString(outToken);

      } finally {
        if (gssContext != null) {
          gssContext.dispose();
        }
      }
    }
  });

  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);

  Mockito.when(request.getHeader(KerberosAuthenticator.AUTHORIZATION))
    .thenReturn(KerberosAuthenticator.NEGOTIATE + " " + token);
  Mockito.when(request.getServerName()).thenReturn("localhost");
  
  AuthenticationToken authToken = handler.authenticate(request, response);

  if (authToken != null) {
    Mockito.verify(response).setHeader(Mockito.eq(KerberosAuthenticator.WWW_AUTHENTICATE),
                                       Mockito.matches(KerberosAuthenticator.NEGOTIATE + " .*"));
    Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);

    Assert.assertEquals(KerberosTestUtils.getClientPrincipal(), authToken.getName());
    Assert.assertTrue(KerberosTestUtils.getClientPrincipal().startsWith(authToken.getUserName()));
    Assert.assertEquals(getExpectedType(), authToken.getType());
  } else {
    Mockito.verify(response).setHeader(Mockito.eq(KerberosAuthenticator.WWW_AUTHENTICATE),
                                       Mockito.matches(KerberosAuthenticator.NEGOTIATE + " .*"));
    Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:54,代码来源:TestKerberosAuthenticationHandler.java

示例15: testRequestWithAuthorization

import org.apache.hadoop.security.authentication.KerberosTestUtils; //导入方法依赖的package包/类
public void testRequestWithAuthorization() throws Exception {
  String token = KerberosTestUtils.doAsClient(new Callable<String>() {
    @Override
    public String call() throws Exception {
      GSSManager gssManager = GSSManager.getInstance();
      GSSContext gssContext = null;
      try {
        String servicePrincipal = KerberosTestUtils.getServerPrincipal();
        Oid oid = KerberosUtil.getOidInstance("NT_GSS_KRB5_PRINCIPAL");
        GSSName serviceName = gssManager.createName(servicePrincipal,
            oid);
        oid = KerberosUtil.getOidInstance("GSS_KRB5_MECH_OID");
        gssContext = gssManager.createContext(serviceName, oid, null,
                                                GSSContext.DEFAULT_LIFETIME);
        gssContext.requestCredDeleg(true);
        gssContext.requestMutualAuth(true);

        byte[] inToken = new byte[0];
        byte[] outToken = gssContext.initSecContext(inToken, 0, inToken.length);
        Base64 base64 = new Base64(0);
        return base64.encodeToString(outToken);

      } finally {
        if (gssContext != null) {
          gssContext.dispose();
        }
      }
    }
  });

  HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
  HttpServletResponse response = Mockito.mock(HttpServletResponse.class);

  Mockito.when(request.getHeader(KerberosAuthenticator.AUTHORIZATION))
    .thenReturn(KerberosAuthenticator.NEGOTIATE + " " + token);

  AuthenticationToken authToken = handler.authenticate(request, response);

  if (authToken != null) {
    Mockito.verify(response).setHeader(Mockito.eq(KerberosAuthenticator.WWW_AUTHENTICATE),
                                       Mockito.matches(KerberosAuthenticator.NEGOTIATE + " .*"));
    Mockito.verify(response).setStatus(HttpServletResponse.SC_OK);

    assertEquals(KerberosTestUtils.getClientPrincipal(), authToken.getName());
    assertTrue(KerberosTestUtils.getClientPrincipal().startsWith(authToken.getUserName()));
    assertEquals(getExpectedType(), authToken.getType());
  } else {
    Mockito.verify(response).setHeader(Mockito.eq(KerberosAuthenticator.WWW_AUTHENTICATE),
                                       Mockito.matches(KerberosAuthenticator.NEGOTIATE + " .*"));
    Mockito.verify(response).setStatus(HttpServletResponse.SC_UNAUTHORIZED);
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:53,代码来源:TestKerberosAuthenticationHandler.java


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