• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Java SignerSecretProvider类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: getMockedServletContextWithStringSigner

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private static SignerSecretProvider getMockedServletContextWithStringSigner(
    FilterConfig config) throws Exception {
  Properties secretProviderProps = new Properties();
  secretProviderProps.setProperty(AuthenticationFilter.SIGNATURE_SECRET,
                                  "secret");
  SignerSecretProvider secretProvider =
      StringSignerSecretProviderCreator.newStringSignerSecretProvider();
  secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);

  ServletContext context = Mockito.mock(ServletContext.class);
  Mockito.when(context.getAttribute(
          AuthenticationFilter.SIGNER_SECRET_PROVIDER_ATTRIBUTE))
          .thenReturn(secretProvider);
  Mockito.when(config.getServletContext()).thenReturn(context);
  return secretProvider;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:TestAuthenticationFilter.java


示例2: initializeSecretProvider

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Override
public void initializeSecretProvider(FilterConfig filterConfig)
        throws ServletException {
    LOG.debug("AtlasAuthenticationFilter :: initializeSecretProvider {}", filterConfig);
    secretProvider = (SignerSecretProvider) filterConfig.getServletContext().
            getAttribute(AuthenticationFilter.SIGNER_SECRET_PROVIDER_ATTRIBUTE);
    if (secretProvider == null) {
        // As tomcat cannot specify the provider object in the configuration.
        // It'll go into this path
        String configPrefix = filterConfig.getInitParameter(CONFIG_PREFIX);
        configPrefix = (configPrefix != null) ? configPrefix + "." : "";
        try {
            secretProvider = AuthenticationFilter.constructSecretProvider(
                    filterConfig.getServletContext(),
                    super.getConfiguration(configPrefix, filterConfig), false);
            this.isInitializedByTomcat = true;
        } catch (Exception ex) {
            throw new ServletException(ex);
        }
    }
    signer = new Signer(secretProvider);
}
 
开发者ID:apache,项目名称:incubator-atlas,代码行数:23,代码来源:AtlasAuthenticationFilter.java


示例3: constructSecretProvider

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private static SignerSecretProvider constructSecretProvider(final Builder b,
    ServletContext ctx)
    throws Exception {
  final Configuration conf = b.conf;
  Properties config = getFilterProperties(conf,
                                          b.authFilterConfigurationPrefix);
  return AuthenticationFilter.constructSecretProvider(
      ctx, config, b.disallowFallbackToRandomSignerSecretProvider);
}
 
开发者ID:nucypher,项目名称:hadoop-oss,代码行数:10,代码来源:HttpServer2.java


示例4: testGetToken

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testGetToken() throws Exception {
  AuthenticationFilter filter = new AuthenticationFilter();

  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).thenReturn(
      DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(AuthenticationFilter.SIGNATURE_SECRET)).thenReturn("secret");
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    SignerSecretProvider secretProvider =
        getMockedServletContextWithStringSigner(config);
    filter.init(config);

    AuthenticationToken token = new AuthenticationToken("u", "p", DummyAuthenticationHandler.TYPE);
    token.setExpires(System.currentTimeMillis() + TOKEN_VALIDITY_SEC);

    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    AuthenticationToken newToken = filter.getToken(request);

    Assert.assertEquals(token.toString(), newToken.toString());
  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:38,代码来源:TestAuthenticationFilter.java


示例5: verifyAuthorized

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private static void verifyAuthorized(AuthenticationFilter filter,
                                     HttpServletRequest request,
                                     HttpServletResponse response,
                                     FilterChain chain) throws
                                                        Exception {
  final Map<String, String> cookieMap = new HashMap<>();
  Mockito.doAnswer(new Answer<Object>() {
    @Override
    public Object answer(InvocationOnMock invocation) throws Throwable {
      String cookieHeader = (String) invocation.getArguments()[1];
      parseCookieMap(cookieHeader, cookieMap);
      return null;
    }
  }).when(response).addHeader(Mockito.eq("Set-Cookie"), Mockito.anyString());

  filter.doFilter(request, response, chain);

  String v = cookieMap.get(AuthenticatedURL.AUTH_COOKIE);
  Assert.assertNotNull("cookie missing", v);
  Assert.assertTrue(v.contains("u=") && v.contains("p=") && v.contains
          ("t=") && v.contains("i=") && v.contains("e=")
          && v.contains("s="));
  Mockito.verify(chain).doFilter(Mockito.any(ServletRequest.class),
          Mockito.any(ServletResponse.class));

  SignerSecretProvider secretProvider =
      StringSignerSecretProviderCreator.newStringSignerSecretProvider();
  Properties secretProviderProps = new Properties();
  secretProviderProps.setProperty(
      AuthenticationFilter.SIGNATURE_SECRET, "secret");
  secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
  Signer signer = new Signer(secretProvider);
  String value = signer.verifyAndExtract(v);
  AuthenticationToken token = AuthenticationToken.parse(value);
  assertThat(token.getMaxInactives(), not(0L));
  assertThat(token.getExpires(), not(0L));
  Assert.assertFalse("Token is expired.", token.isExpired());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:39,代码来源:TestAuthenticationFilter.java


示例6: getProviderClass

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@SuppressWarnings("unchecked")
private Class<? extends SignerSecretProvider> getProviderClass(Properties config)
        throws ServletException {
  String providerClassName;
  String signerSecretProviderName
          = config.getProperty(SIGNER_SECRET_PROVIDER, null);
  // fallback to old behavior
  if (signerSecretProviderName == null) {
    String signatureSecret = config.getProperty(SIGNATURE_SECRET, null);
    if (signatureSecret != null) {
      providerClassName = StringSignerSecretProvider.class.getName();
    } else {
      providerClassName = RandomSignerSecretProvider.class.getName();
      randomSecret = true;
    }
  } else {
    if ("random".equals(signerSecretProviderName)) {
      providerClassName = RandomSignerSecretProvider.class.getName();
      randomSecret = true;
    } else if ("string".equals(signerSecretProviderName)) {
      providerClassName = StringSignerSecretProvider.class.getName();
    } else if ("zookeeper".equals(signerSecretProviderName)) {
      providerClassName = ZKSignerSecretProvider.class.getName();
    } else {
      providerClassName = signerSecretProviderName;
      customSecretProvider = true;
    }
  }
  try {
    return (Class<? extends SignerSecretProvider>) Thread.currentThread().
            getContextClassLoader().loadClass(providerClassName);
  } catch (ClassNotFoundException ex) {
    throw new ServletException(ex);
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:36,代码来源:AuthenticationFilter.java


示例7: getSignerToEncrypt

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private Signer getSignerToEncrypt() throws Exception {
  SignerSecretProvider secretProvider =
      StringSignerSecretProviderCreator.newStringSignerSecretProvider();
  Properties secretProviderProps = new Properties();
  secretProviderProps.setProperty(
      AuthenticationFilter.SIGNATURE_SECRET, SECRET_STR);
  secretProvider.init(secretProviderProps, null, TIMEOUT);
  return new Signer(secretProvider);
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:10,代码来源:TestHttpServerWithSpengo.java


示例8: testGetTokenExpired

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testGetTokenExpired() throws Exception {
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).thenReturn("true");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).thenReturn(
      DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(AuthenticationFilter.SIGNATURE_SECRET)).thenReturn("secret");
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    AuthenticationToken token =
        new AuthenticationToken("u", "p", DummyAuthenticationHandler.TYPE);
    token.setExpires(System.currentTimeMillis() - TOKEN_VALIDITY_SEC);
    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
            AuthenticationFilter.SIGNATURE_SECRET, "secret");
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    boolean failed = false;
    try {
      filter.getToken(request);
    } catch (AuthenticationException ex) {
      Assert.assertEquals("AuthenticationToken expired", ex.getMessage());
      failed = true;
    } finally {
      Assert.assertTrue("token not expired", failed);
    }
  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:47,代码来源:TestAuthenticationFilter.java


示例9: testGetTokenInvalidType

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testGetTokenInvalidType() throws Exception {
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).thenReturn(
      DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(AuthenticationFilter.SIGNATURE_SECRET)).thenReturn("secret");
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    AuthenticationToken token = new AuthenticationToken("u", "p", "invalidtype");
    token.setExpires(System.currentTimeMillis() + TOKEN_VALIDITY_SEC);
    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
            AuthenticationFilter.SIGNATURE_SECRET, "secret");
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    boolean failed = false;
    try {
      filter.getToken(request);
    } catch (AuthenticationException ex) {
      Assert.assertEquals("Invalid AuthenticationToken type", ex.getMessage());
      failed = true;
    } finally {
      Assert.assertTrue("token not invalid type", failed);
    }
  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:47,代码来源:TestAuthenticationFilter.java


示例10: testDoFilterAuthenticatedExpired

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testDoFilterAuthenticatedExpired() throws Exception {
  String secret = "secret";
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).thenReturn(
      DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(AuthenticationFilter.SIGNATURE_SECRET)).thenReturn(
      secret);
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://foo:8080/bar"));

    AuthenticationToken token = new AuthenticationToken("u", "p", DummyAuthenticationHandler.TYPE);
    token.setExpires(System.currentTimeMillis() - TOKEN_VALIDITY_SEC);
    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
            AuthenticationFilter.SIGNATURE_SECRET, secret);
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
    Mockito.when(response.containsHeader("WWW-Authenticate")).thenReturn(true);
    FilterChain chain = Mockito.mock(FilterChain.class);

    verifyUnauthorized(filter, request, response, chain);
  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:47,代码来源:TestAuthenticationFilter.java


示例11: testDoFilterAuthenticatedInvalidType

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testDoFilterAuthenticatedInvalidType() throws Exception {
  String secret = "secret";
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).thenReturn(
      DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(AuthenticationFilter.SIGNATURE_SECRET)).thenReturn(
      secret);
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getRequestURL()).thenReturn(new StringBuffer("http://foo:8080/bar"));

    AuthenticationToken token = new AuthenticationToken("u", "p", "invalidtype");
    token.setExpires(System.currentTimeMillis() + TOKEN_VALIDITY_SEC);
    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
            AuthenticationFilter.SIGNATURE_SECRET, secret);
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
    Mockito.when(response.containsHeader("WWW-Authenticate")).thenReturn(true);
    FilterChain chain = Mockito.mock(FilterChain.class);

    verifyUnauthorized(filter, request, response, chain);
  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:47,代码来源:TestAuthenticationFilter.java


示例12: testManagementOperation

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
public void testManagementOperation() throws Exception {
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("false");
    Mockito.when(config.getInitParameter(AuthenticationFilter.AUTH_TYPE)).
      thenReturn(DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getRequestURL()).
      thenReturn(new StringBuffer("http://foo:8080/bar"));

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

    FilterChain chain = Mockito.mock(FilterChain.class);

    filter.doFilter(request, response, chain);
    Mockito.verify(response).setStatus(HttpServletResponse.SC_ACCEPTED);
    Mockito.verifyNoMoreInteractions(response);

    Mockito.reset(request);
    Mockito.reset(response);

    AuthenticationToken token = new AuthenticationToken("u", "p", "t");
    token.setExpires(System.currentTimeMillis() + TOKEN_VALIDITY_SEC);
    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
            AuthenticationFilter.SIGNATURE_SECRET, "secret");
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());
    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});

    filter.doFilter(request, response, chain);

    Mockito.verify(response).setStatus(HttpServletResponse.SC_ACCEPTED);
    Mockito.verifyNoMoreInteractions(response);

  } finally {
    filter.destroy();
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:54,代码来源:TestAuthenticationFilter.java


示例13: _testDoFilterAuthenticationMaxInactiveInterval

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private void
_testDoFilterAuthenticationMaxInactiveInterval(long maxInactives,
                                               long expires,
                                               boolean authorized)
                                                   throws Exception {
  String secret = "secret";
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(
        AuthenticationFilter.AUTH_TYPE)).thenReturn(
            DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(
        AuthenticationFilter.SIGNATURE_SECRET)).thenReturn(secret);
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getRequestURL()).thenReturn(
        new StringBuffer("http://foo:8080/bar"));

    AuthenticationToken token = new AuthenticationToken("u", "p",
        DummyAuthenticationHandler.TYPE);
    token.setMaxInactives(maxInactives);
    token.setExpires(expires);

    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
        AuthenticationFilter.SIGNATURE_SECRET, secret);
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});
    HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
    Mockito.when(response.containsHeader("WWW-Authenticate"))
    .thenReturn(true);
    FilterChain chain = Mockito.mock(FilterChain.class);

    if (authorized) {
      verifyAuthorized(filter, request, response, chain);
    } else {
      verifyUnauthorized(filter, request, response, chain);
    }
  } finally {
    filter.destroy();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:59,代码来源:TestAuthenticationFilter.java


示例14: testDelegationTokenOperations

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
@Test
@TestDir
@TestJetty
@TestHdfs
public void testDelegationTokenOperations() throws Exception {
  createHttpFSServer(true);

  URL url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=GETHOMEDIRECTORY");
  HttpURLConnection conn = (HttpURLConnection) url.openConnection();
  Assert.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED,
      conn.getResponseCode());


  AuthenticationToken token = new AuthenticationToken("u", "p",
      HttpFSKerberosAuthenticationHandlerForTesting.TYPE);
  token.setExpires(System.currentTimeMillis() + 100000000);
  SignerSecretProvider secretProvider =
      StringSignerSecretProviderCreator.newStringSignerSecretProvider();
  Properties secretProviderProps = new Properties();
  secretProviderProps.setProperty(AuthenticationFilter.SIGNATURE_SECRET, "secret");
  secretProvider.init(secretProviderProps, null, -1);
  Signer signer = new Signer(secretProvider);
  String tokenSigned = signer.sign(token.toString());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=GETHOMEDIRECTORY");
  conn = (HttpURLConnection) url.openConnection();
  conn.setRequestProperty("Cookie",
      AuthenticatedURL.AUTH_COOKIE + "=" + tokenSigned);
  Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=GETDELEGATIONTOKEN");
  conn = (HttpURLConnection) url.openConnection();
  conn.setRequestProperty("Cookie",
      AuthenticatedURL.AUTH_COOKIE + "=" + tokenSigned);
  Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

  JSONObject json = (JSONObject) new JSONParser()
      .parse(new InputStreamReader(conn.getInputStream()));
  json = (JSONObject) json
      .get(HttpFSKerberosAuthenticator.DELEGATION_TOKEN_JSON);
  String tokenStr = (String) json
      .get(HttpFSKerberosAuthenticator.DELEGATION_TOKEN_URL_STRING_JSON);

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=GETHOMEDIRECTORY&delegation=" + tokenStr);
  conn = (HttpURLConnection) url.openConnection();
  Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=RENEWDELEGATIONTOKEN&token=" + tokenStr);
  conn = (HttpURLConnection) url.openConnection();
  conn.setRequestMethod("PUT");
  Assert.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED,
      conn.getResponseCode());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=RENEWDELEGATIONTOKEN&token=" + tokenStr);
  conn = (HttpURLConnection) url.openConnection();
  conn.setRequestMethod("PUT");
  conn.setRequestProperty("Cookie",
      AuthenticatedURL.AUTH_COOKIE + "=" + tokenSigned);
  Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=CANCELDELEGATIONTOKEN&token=" + tokenStr);
  conn = (HttpURLConnection) url.openConnection();
  conn.setRequestMethod("PUT");
  Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

  url = new URL(TestJettyHelper.getJettyURL(),
      "/webhdfs/v1/?op=GETHOMEDIRECTORY&delegation=" + tokenStr);
  conn = (HttpURLConnection) url.openConnection();
  Assert
      .assertEquals(HttpURLConnection.HTTP_FORBIDDEN, conn.getResponseCode());
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:79,代码来源:TestHttpFSServer.java


示例15: _testDoFilterAuthenticationMaxInactiveInterval

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private void
_testDoFilterAuthenticationMaxInactiveInterval(long maxInactivesInToken,
                                               long maxInactivesOnServer,
                                               long expires,
                                               boolean authorized,
                                               boolean newCookie)
                                                   throws Exception {
  String secret = "secret";
  AuthenticationFilter filter = new AuthenticationFilter();
  try {
    FilterConfig config = Mockito.mock(FilterConfig.class);
    Mockito.when(config.getInitParameter("management.operation.return")).
      thenReturn("true");
    Mockito.when(config.getInitParameter(
        AuthenticationFilter.AUTH_TYPE)).thenReturn(
            DummyAuthenticationHandler.class.getName());
    Mockito.when(config.getInitParameter(
        AuthenticationFilter.SIGNATURE_SECRET)).thenReturn(secret);
    Mockito.when(config.getInitParameter(
        AuthenticationFilter.AUTH_TOKEN_MAX_INACTIVE_INTERVAL)).thenReturn(
            Long.toString(maxInactivesOnServer));
    Mockito.when(config.getInitParameterNames()).thenReturn(
      new Vector<String>(
        Arrays.asList(AuthenticationFilter.AUTH_TYPE,
                      AuthenticationFilter.SIGNATURE_SECRET,
                      AuthenticationFilter.AUTH_TOKEN_MAX_INACTIVE_INTERVAL,
                      "management.operation.return")).elements());
    getMockedServletContextWithStringSigner(config);
    filter.init(config);

    HttpServletRequest request = Mockito.mock(HttpServletRequest.class);
    Mockito.when(request.getRequestURL()).thenReturn(
        new StringBuffer("http://foo:8080/bar"));

    AuthenticationToken token = new AuthenticationToken("u", "p",
        DummyAuthenticationHandler.TYPE);
    token.setMaxInactives(maxInactivesInToken);
    token.setExpires(expires);

    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
        AuthenticationFilter.SIGNATURE_SECRET, secret);
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String tokenSigned = signer.sign(token.toString());

    Cookie cookie = new Cookie(AuthenticatedURL.AUTH_COOKIE, tokenSigned);
    Mockito.when(request.getCookies()).thenReturn(new Cookie[]{cookie});
    HttpServletResponse response = Mockito.mock(HttpServletResponse.class);
    Mockito.when(response.containsHeader("WWW-Authenticate"))
    .thenReturn(true);
    FilterChain chain = Mockito.mock(FilterChain.class);

    if (authorized) {
      verifyAuthorized(filter, request, response, chain, newCookie);
    } else {
      verifyUnauthorized(filter, request, response, chain);
    }
  } finally {
    filter.destroy();
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:65,代码来源:TestAuthenticationFilter.java


示例16: verifyAuthorized

import org.apache.hadoop.security.authentication.util.SignerSecretProvider; //导入依赖的package包/类
private static void verifyAuthorized(AuthenticationFilter filter,
                                     HttpServletRequest request,
                                     HttpServletResponse response,
                                     FilterChain chain,
                                     boolean newCookie) throws
                                                        Exception {
  final Map<String, String> cookieMap = new HashMap<>();
  Mockito.doAnswer(new Answer<Object>() {
    @Override
    public Object answer(InvocationOnMock invocation) throws Throwable {
      String cookieHeader = (String) invocation.getArguments()[1];
      parseCookieMap(cookieHeader, cookieMap);
      return null;
    }
  }).when(response).addHeader(Mockito.eq("Set-Cookie"), Mockito.anyString());

  filter.doFilter(request, response, chain);

  if (newCookie) {
    // a new cookie should be dropped when maxInactiveInterval is enabled
    String v = cookieMap.get(AuthenticatedURL.AUTH_COOKIE);
    Assert.assertNotNull("cookie missing", v);
    Assert.assertTrue(v.contains("u=") && v.contains("p=") && v.contains
        ("t=") && v.contains("i=") && v.contains("e=")
        && v.contains("s="));
    Mockito.verify(chain).doFilter(Mockito.any(ServletRequest.class),
        Mockito.any(ServletResponse.class));

    SignerSecretProvider secretProvider =
        StringSignerSecretProviderCreator.newStringSignerSecretProvider();
    Properties secretProviderProps = new Properties();
    secretProviderProps.setProperty(
        AuthenticationFilter.SIGNATURE_SECRET, "secret");
    secretProvider.init(secretProviderProps, null, TOKEN_VALIDITY_SEC);
    Signer signer = new Signer(secretProvider);
    String value = signer.verifyAndExtract(v);
    AuthenticationToken token = AuthenticationToken.parse(value);
    assertThat(token.getMaxInactives(), not(0L));
    assertThat(token.getExpires(), not(0L));
    Assert.assertFalse("Token is expired.", token.isExpired());
  } else {
    //make sure that no auth cookie is dropped.
    //For unauthorized response, auth cookie is dropped with empty value
    Assert.assertTrue("cookie is present",
        !cookieMap.containsKey(AuthenticatedURL.AUTH_COOKIE));
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:48,代码来源:TestAuthenticationFilter.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java API类代码示例发布时间:2022-05-23
下一篇:
Java ShapePickSupport类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap