@Test public void testCasAuthenticationHelper() throws Exception { CasFormAuthenticationHelper helper = new CasFormAuthenticationHelper(casServerURLPrefix, "fail", "abc"); assertFalse(helper.ssoLogin()); helper = new CasFormAuthenticationHelper(casServerURLPrefix, "success", "success"); assertTrue(helper.ssoLogin()); assertNotNull(helper.getTicketGrantingCookie()); LOGGER.info("TGC after login : " + helper.getTicketGrantingCookie()); assertTrue(helper.ssoLogout()); assertNotNull(helper.getTicketGrantingCookie()); LOGGER.info("TGC after logout : " + helper.getTicketGrantingCookie()); assertTrue(helper.ssoLogin()); assertNotNull(helper.getTicketGrantingCookie()); String ticket = helper.getServiceTicket(serviceUrl); assertNotNull(ticket); assertTrue(ticket.startsWith("ST-")); LOGGER.info("ST : " + ticket); helper.ssoLogout(); }
public boolean ssoLogin() throws IOException{ URL loginUrl = createURLFromCasURI("/login"); HttpURLConnection conn = (HttpURLConnection) loginUrl.openConnection(); String responseString = readResponse(conn); String loginTicket = extractFormParameter(responseString,"\"lt\""); if (loginTicket==null) throw new IOException (" No login ticket for: "+loginUrl.toString()); String execution = extractFormParameter(responseString,"\"execution\""); if (execution==null) throw new IOException (" No hidden execution field for: "+loginUrl.toString()); List<HttpCookie> cookies = getCookies(conn); HttpCookie sessionCookie = getCookieNamed(cookies, "JSESSIONID"); String sessionCookieSend=sessionCookie.toString(); conn.setRequestProperty("Cookie", sessionCookieSend); writeParamsForPostAndSend(conn, paramMap); cookies = getCookies(conn); readResponse(conn); extractCASCookies(cookies,conn);
protected Assertion authenticateWithPGT(CasFormAuthenticationHelper helper) throws Exception { helper.ssoLogin(); String ticket = helper.getServiceTicket(serviceUrl); Cas20ProxyTicketValidator validator = new Cas20ProxyTicketValidator( casServerURLPrefix.toString()); validator.setAcceptAnyProxy(true); validator.setProxyCallbackUrl(GeoServerCasConstants .createProxyCallBackURl(proxyCallbackUrlPrefix.toExternalForm())); validator.setProxyGrantingTicketStorage(GeoServerExtensions .bean(ProxyGrantingTicketStorage.class)); Assertion result = validator.validate(ticket, serviceUrl.toExternalForm()); assertNotNull(result); return result; }
CasFormAuthenticationHelper helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin();
CasFormAuthenticationHelper helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); Assertion ass = authenticateWithPGT(helper); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); ass = authenticateWithPGT(helper); for (int i = 0; i < 2; i++) { helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); ass = authenticateWithPGT(helper); request = createRequest("wms"); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); ass = authenticateWithPGT(helper); request = createRequest("wms"); helper.ssoLogout();
protected String loginUsingTicket(CasFormAuthenticationHelper helper, MockHttpServletRequest request, MockHttpServletResponse response,MockFilterChain chain) throws Exception { String ticket = helper.getServiceTicket(new URL(request.getRequestURL().toString())); request.setQueryString("ticket=" + ticket); request.setupAddParameter("ticket", ticket); getProxy().doFilter(request, response, chain); return ticket; }
CasFormAuthenticationHelper helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin(); assertNotNull(GeoServerCasAuthenticationFilter.getHandler().getSessionMappingStorage() .removeSessionByMappingId(ticket)); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin(); request = createRequest("/foo/bar"); response = new MockHttpServletResponse(); assertNotNull(GeoServerCasAuthenticationFilter.getHandler().getSessionMappingStorage() .removeSessionByMappingId(ticket)); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin(); assertNotNull(GeoServerCasAuthenticationFilter.getHandler().getSessionMappingStorage() .removeSessionByMappingId(ticket)); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, password); helper.ssoLogin(); updateUser("ug1", username, false); request = createRequest("/foo/bar");
CasFormAuthenticationHelper helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); helper.ssoLogin(); String ticket = helper.getServiceTicket(new URL(request.getRequestURL().toString() + "?" + request.getQueryString())); assertNotNull(ticket); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); helper.ssoLogin(); ticket = helper.getServiceTicket(new URL(request.getRequestURL().toString())); assertNotNull(ticket); response = new MockHttpServletResponse(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); helper.ssoLogin(); ticket = helper.getServiceTicket(new URL(request.getRequestURL().toString())); assertNotNull(ticket); helper.ssoLogout(); helper = new CasFormAuthenticationHelper(casServerURLPrefix, username, username); authenticateWithPGT(helper); request = createRequest("wms"); ticket = helper.getServiceTicket(new URL(request.getRequestURL().toString()));