Example usage for java.net HttpURLConnection HTTP_UNAUTHORIZED

List of usage examples for java.net HttpURLConnection HTTP_UNAUTHORIZED

Introduction

In this page you can find the example usage for java.net HttpURLConnection HTTP_UNAUTHORIZED.

Prototype

int HTTP_UNAUTHORIZED

To view the source code for java.net HttpURLConnection HTTP_UNAUTHORIZED.

Click Source Link

Document

HTTP Status-Code 401: Unauthorized.

Usage

From source file:org.apache.hadoop.security.token.delegation.web.TestWebDelegationToken.java

@Test
public void testRawHttpCalls() throws Exception {
    final Server jetty = createJettyServer();
    Context context = new Context();
    context.setContextPath("/foo");
    jetty.setHandler(context);/*from   w  w  w  .  j a v  a 2s .c o  m*/
    context.addFilter(new FilterHolder(AFilter.class), "/*", 0);
    context.addServlet(new ServletHolder(PingServlet.class), "/bar");
    try {
        jetty.start();
        URL nonAuthURL = new URL(getJettyURL() + "/foo/bar");
        URL authURL = new URL(getJettyURL() + "/foo/bar?authenticated=foo");

        // unauthenticated access to URL
        HttpURLConnection conn = (HttpURLConnection) nonAuthURL.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, conn.getResponseCode());

        // authenticated access to URL
        conn = (HttpURLConnection) authURL.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

        // unauthenticated access to get delegation token
        URL url = new URL(nonAuthURL.toExternalForm() + "?op=GETDELEGATIONTOKEN");
        conn = (HttpURLConnection) url.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, conn.getResponseCode());

        // authenticated access to get delegation token
        url = new URL(authURL.toExternalForm() + "&op=GETDELEGATIONTOKEN&renewer=foo");
        conn = (HttpURLConnection) url.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());
        ObjectMapper mapper = new ObjectMapper();
        Map map = mapper.readValue(conn.getInputStream(), Map.class);
        String dt = (String) ((Map) map.get("Token")).get("urlString");
        Assert.assertNotNull(dt);

        // delegation token access to URL
        url = new URL(nonAuthURL.toExternalForm() + "?delegation=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

        // delegation token and authenticated access to URL
        url = new URL(authURL.toExternalForm() + "&delegation=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

        // renewew delegation token, unauthenticated access to URL
        url = new URL(nonAuthURL.toExternalForm() + "?op=RENEWDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, conn.getResponseCode());

        // renewew delegation token, authenticated access to URL
        url = new URL(authURL.toExternalForm() + "&op=RENEWDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

        // renewew delegation token, authenticated access to URL, not renewer
        url = new URL(getJettyURL() + "/foo/bar?authenticated=bar&op=RENEWDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_FORBIDDEN, conn.getResponseCode());

        // cancel delegation token, nonauthenticated access to URL
        url = new URL(nonAuthURL.toExternalForm() + "?op=CANCELDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());

        // cancel canceled delegation token, nonauthenticated access to URL
        url = new URL(nonAuthURL.toExternalForm() + "?op=CANCELDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_NOT_FOUND, conn.getResponseCode());

        // get new delegation token
        url = new URL(authURL.toExternalForm() + "&op=GETDELEGATIONTOKEN&renewer=foo");
        conn = (HttpURLConnection) url.openConnection();
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());
        mapper = new ObjectMapper();
        map = mapper.readValue(conn.getInputStream(), Map.class);
        dt = (String) ((Map) map.get("Token")).get("urlString");
        Assert.assertNotNull(dt);

        // cancel delegation token, authenticated access to URL
        url = new URL(authURL.toExternalForm() + "&op=CANCELDELEGATIONTOKEN&token=" + dt);
        conn = (HttpURLConnection) url.openConnection();
        conn.setRequestMethod("PUT");
        Assert.assertEquals(HttpURLConnection.HTTP_OK, conn.getResponseCode());
    } finally {
        jetty.stop();
    }
}

From source file:org.jboss.test.web.test.WebIntegrationUnitTestCase.java

/** Access the http://{host}/jbosstest/restricted/SecureServlet
 *///from  w  w w. j  a  va2s  .  c  o m
public void testSecureServletAndUnsecureAccess() throws Exception {
    getLog().info("+++ testSecureServletAndUnsecureAccess");
    URL url = new URL(baseURL + "jbosstest/restricted/SecureServlet");
    getLog().info("Accessing SecureServlet with valid login");
    HttpUtils.accessURL(url);
    String baseURL2 = "http://" + getServerHost() + ":" + Integer.getInteger("web.port", 8080) + '/';
    URL url2 = new URL(baseURL2 + "jbosstest/restricted/UnsecureEJBServlet");
    getLog().info("Accessing SecureServlet with no login");
    HttpUtils.accessURL(url2, REALM, HttpURLConnection.HTTP_UNAUTHORIZED);
}

From source file:org.jboss.as.test.integration.security.perimeter.WebConsoleSecurityTestCase.java

@Test
public void testPut() throws Exception {
    getConnection().setRequestMethod(HttpPut.METHOD_NAME);
    getConnection().connect();//  w  w w  .  ja  v a  2 s  .  c om
    assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, getConnection().getResponseCode());
}

From source file:com.bigstep.datalake.DLFileSystem.java

private static Map<?, ?> validateResponse(final HttpOpParam.Op op, final HttpURLConnection conn,
        boolean unwrapException) throws IOException {
    final int code = conn.getResponseCode();
    // server is demanding an authentication we don't support
    if (code == HttpURLConnection.HTTP_UNAUTHORIZED) {
        // match hdfs/rpc exception
        throw new AccessControlException(conn.getResponseMessage());
    }//from  w  w w. j ava2s .  com
    if (code != op.getExpectedHttpResponseCode()) {
        final Map<?, ?> m;
        try {
            m = jsonParse(conn, true);
        } catch (Exception e) {
            throw new IOException(
                    "Unexpected HTTP response: code=" + code + " != " + op.getExpectedHttpResponseCode() + ", "
                            + op.toQueryString() + ", message=" + conn.getResponseMessage(),
                    e);
        }

        if (m == null) {
            throw new IOException(
                    "Unexpected HTTP response: code=" + code + " != " + op.getExpectedHttpResponseCode() + ", "
                            + op.toQueryString() + ", message=" + conn.getResponseMessage());
        } else if (m.get(RemoteException.class.getSimpleName()) == null) {
            return m;
        }

        IOException re = JsonUtil.toRemoteException(m);
        // extract UGI-related exceptions and unwrap InvalidToken
        // the NN mangles these exceptions but the DN does not and may need
        // to re-fetch a token if either report the token is expired
        if (re.getMessage() != null && re.getMessage().startsWith(SecurityUtil.FAILED_TO_GET_UGI_MSG_HEADER)) {
            String[] parts = re.getMessage().split(":\\s+", 3);
            re = new RemoteException(parts[1], parts[2]);
            re = ((RemoteException) re).unwrapRemoteException(SecretManager.InvalidToken.class);
        }
        throw unwrapException ? toIOException(re) : re;
    }
    return null;
}

From source file:org.sofun.core.security.oauth.OAuthSofunProvider.java

@Override
public OAuthRequestToken getRequestToken(String consumerKey, String requestToken) throws OAuthException {
    OAuthRequestToken token = getRequestToken(requestToken);
    if (consumerKey != null && !token.getConsumer().getKey().equals(consumerKey)) {
        throw new OAuthException(HttpURLConnection.HTTP_UNAUTHORIZED, "No such consumer key " + consumerKey);
    }//from   w  w  w.j  a  v a  2s  .com
    return token;
}

From source file:org.jboss.as.test.integration.security.perimeter.WebConsoleSecurityTestCase.java

@Test
public void testTrace() throws Exception {
    getConnection().setRequestMethod(HttpTrace.METHOD_NAME);
    getConnection().connect();//from ww  w . ja va  2  s.com
    assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, getConnection().getResponseCode());
}

From source file:org.xbmc.httpapi.Connection.java

/**
 * Executes a query./*from  w  w w .  j a v a 2s.com*/
 * @param command    Name of the command to execute
 * @param parameters Parameters, separated by ";".
 * @param manager    Reference back to business layer
 * @return HTTP response string.
 */
public String query(String command, String parameters, INotifiableManager manager) {
    URLConnection uc = null;

    try {
        if (mUrlSuffix == null) {
            throw new NoSettingsException();
        }

        URL url = new URL(getUrl(command, parameters));
        uc = getUrlConnection(url);

        final String debugUrl = URLDecoder.decode(url.toString());
        Log.i(TAG, debugUrl);

        final BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()), 8192);
        final StringBuilder response = new StringBuilder();
        String line;

        while ((line = in.readLine()) != null) {
            response.append(line);
        }
        in.close();
        return response.toString().replace("<html>", "").replace("</html>", "");
    } catch (MalformedURLException e) {
        manager.onError(e);
    } catch (IOException e) {
        int responseCode = -1;
        try {
            if (uc != null) {
                responseCode = ((HttpURLConnection) uc).getResponseCode();
            }
        } catch (IOException e1) {
        } // do nothing, getResponse code failed so treat as default i/o exception.
        if (uc != null && responseCode == HttpURLConnection.HTTP_UNAUTHORIZED) {
            manager.onError(new HttpException(Integer.toString(HttpURLConnection.HTTP_UNAUTHORIZED)));
        } else {
            manager.onError(e);
        }
    } catch (NoSettingsException e) {
        manager.onError(e);
    }
    return "";
}

From source file:org.xbmc.jsonrpc.Connection.java

/**
 * Executes a query.//w  ww .  j  a v a2 s.com
 * @param command    Name of the command to execute
 * @param parameters Parameters
 * @param manager    Reference back to business layer
 * @return Parsed JSON object, empty object on error.
 */
public JsonNode query(String command, JsonNode parameters, INotifiableManager manager) {
    URLConnection uc = null;
    try {
        final ObjectMapper mapper = Client.MAPPER;

        if (mUrlSuffix == null) {
            throw new NoSettingsException();
        }

        final URL url = new URL(mUrlSuffix + XBMC_JSONRPC_BOOTSTRAP);
        uc = url.openConnection();
        uc.setConnectTimeout(SOCKET_CONNECTION_TIMEOUT);
        uc.setReadTimeout(mSocketReadTimeout);
        if (authEncoded != null) {
            uc.setRequestProperty("Authorization", "Basic " + authEncoded);
        }
        uc.setRequestProperty("Content-Type", "application/json");
        uc.setDoOutput(true);

        final ObjectNode data = Client.obj().p("jsonrpc", "2.0").p("method", command).p("id", "1");
        if (parameters != null) {
            data.put("params", parameters);
        }

        final JsonFactory jsonFactory = new JsonFactory();
        final JsonGenerator jg = jsonFactory.createJsonGenerator(uc.getOutputStream(), JsonEncoding.UTF8);
        jg.setCodec(mapper);

        // POST data
        jg.writeTree(data);
        jg.flush();

        final JsonParser jp = jsonFactory.createJsonParser(uc.getInputStream());
        jp.setCodec(mapper);
        final JsonNode ret = jp.readValueAs(JsonNode.class);
        return ret;

    } catch (MalformedURLException e) {
        manager.onError(e);
    } catch (IOException e) {
        int responseCode = -1;
        try {
            responseCode = ((HttpURLConnection) uc).getResponseCode();
        } catch (IOException e1) {
        } // do nothing, getResponse code failed so treat as default i/o exception.
        if (uc != null && responseCode == HttpURLConnection.HTTP_UNAUTHORIZED) {
            manager.onError(new HttpException(Integer.toString(HttpURLConnection.HTTP_UNAUTHORIZED)));
        } else {
            manager.onError(e);
        }
    } catch (NoSettingsException e) {
        manager.onError(e);
    }
    return new ObjectNode(null);
}

From source file:org.jboss.test.web.test.WebIntegrationUnitTestCase.java

/** Access the http://{host}/jbosstest/restricted/SecureServlet
 */// w  w w.  j  av a2s  . c  om
public void testSecureServletWithBadPass() throws Exception {
    String baseURL = "http://jduke:badpass@" + getServerHost() + ":" + Integer.getInteger("web.port", 8080)
            + '/';
    URL url = new URL(baseURL + "jbosstest/restricted/SecureServlet");
    HttpUtils.accessURL(url, REALM, HttpURLConnection.HTTP_UNAUTHORIZED);
}

From source file:org.jboss.as.test.integration.security.perimeter.WebConsoleSecurityTestCase.java

@Test
public void testDelete() throws Exception {
    getConnection().setRequestMethod(HttpDelete.METHOD_NAME);
    getConnection().connect();//w w w  .ja  v  a  2  s .  co  m
    assertEquals(HttpURLConnection.HTTP_UNAUTHORIZED, getConnection().getResponseCode());
}