@Override public TicketValidator build() { Cas20ProxyTicketValidator ticketValidator = new Cas20ProxyTicketValidator(casServerUrlPrefix); super.configure(ticketValidator); if (proxyChainsValidation != null) { ticketValidator.setAcceptAnyProxy(!proxyChainsValidation); } if (allowEmptyProxyChain != null) { ticketValidator.setAllowEmptyProxyChain(allowEmptyProxyChain); } if (proxyChains != null) { ticketValidator.setAllowedProxyChains(proxyChains); } return ticketValidator; } }
@Test public void testRegexProxyChainWithInvalidProxy() throws TicketValidationException, UnsupportedEncodingException { final List<String[]> list = new ArrayList<String[]>(); list.add(new String[] { "proxy1", "proxy2", "^proxy3/[a-z]*/" }); this.ticketValidator.setAllowedProxyChains(new ProxyList(list)); final String RESPONSE = "<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'><cas:authenticationSuccess><cas:user>username</cas:user><cas:proxyGrantingTicket>PGTIOU-84678-8a9d...</cas:proxyGrantingTicket><cas:proxies><cas:proxy>proxy1</cas:proxy><cas:proxy>proxy2</cas:proxy><cas:proxy>proxy3/ABC/</cas:proxy></cas:proxies></cas:authenticationSuccess></cas:serviceResponse>"; server.content = RESPONSE.getBytes(server.encoding); try { this.ticketValidator.validate("test", "test"); fail("Invalid proxy chain"); } catch (InvalidProxyChainTicketValidationException e) { // expected } }
@Test public void testRegexProxyChainWithValidProxy() throws TicketValidationException, UnsupportedEncodingException { final List<String[]> list = new ArrayList<String[]>(); list.add(new String[] { "proxy1", "proxy2", "^proxy3/[a-z]*/" }); this.ticketValidator.setAllowedProxyChains(new ProxyList(list)); final String USERNAME = "username"; final String RESPONSE = "<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'><cas:authenticationSuccess><cas:user>username</cas:user><cas:proxyGrantingTicket>PGTIOU-84678-8a9d...</cas:proxyGrantingTicket><cas:proxies><cas:proxy>proxy1</cas:proxy><cas:proxy>proxy2</cas:proxy><cas:proxy>proxy3/abc/</cas:proxy></cas:proxies></cas:authenticationSuccess></cas:serviceResponse>"; server.content = RESPONSE.getBytes(server.encoding); final Assertion assertion = this.ticketValidator.validate("test", "test"); assertEquals(USERNAME, assertion.getPrincipal().getName()); }
final Cas20ProxyTicketValidator v = new Cas20ProxyTicketValidator(casServerUrlPrefix); v.setAcceptAnyProxy(parseBoolean(allowAnyProxy)); v.setAllowedProxyChains(CommonUtils.createProxyList(allowedProxyChains)); validator = v; } else {
this.defaultProxyTicketValidatorClass); v.setAcceptAnyProxy(allowAnyProxy); v.setAllowedProxyChains(CommonUtils.createProxyList(allowedProxyChains)); validator = v; } else {
@Before public void setUp() throws Exception { final List<String[]> list = new ArrayList<String[]>(); list.add(new String[] { "proxy1", "proxy2", "proxy3" }); this.ticketValidator = new Cas20ProxyTicketValidator(CONST_CAS_SERVER_URL_PREFIX + "8089"); this.ticketValidator.setRenew(true); this.ticketValidator.setProxyCallbackUrl("test"); this.ticketValidator.setProxyGrantingTicketStorage(getProxyGrantingTicketStorage()); this.ticketValidator.setProxyRetriever(getProxyRetriever()); this.ticketValidator.setAllowedProxyChains(new ProxyList(list)); }
public void start() throws LifecycleException { super.start(); this.ticketValidator = new Cas20ProxyTicketValidator(getCasServerUrlPrefix()); this.ticketValidator.setRenew(isRenew()); this.ticketValidator.setProxyCallbackUrl(getProxyCallbackUrl()); this.ticketValidator.setProxyGrantingTicketStorage(ProxyCallbackValve.getProxyGrantingTicketStorage()); this.ticketValidator.setAcceptAnyProxy(this.acceptAnyProxy); this.ticketValidator.setAllowedProxyChains(CommonUtils.createProxyList(this.allowedProxyChains)); if (getEncoding() != null) { this.ticketValidator.setEncoding(getEncoding()); } lifecycle.fireLifecycleEvent(AFTER_START_EVENT, null); logger.info("Startup completed."); } }
protected void startInternal() throws LifecycleException { super.startInternal(); this.ticketValidator = new Cas20ProxyTicketValidator(getCasServerUrlPrefix()); this.ticketValidator.setRenew(isRenew()); this.ticketValidator.setProxyCallbackUrl(getProxyCallbackUrl()); this.ticketValidator.setProxyGrantingTicketStorage(ProxyCallbackValve.getProxyGrantingTicketStorage()); this.ticketValidator.setAcceptAnyProxy(this.acceptAnyProxy); this.ticketValidator.setAllowedProxyChains(CommonUtils.createProxyList(this.allowedProxyChains)); if (getEncoding() != null) { this.ticketValidator.setEncoding(getEncoding()); } } }
protected void startInternal() throws LifecycleException { super.startInternal(); this.ticketValidator = new Cas20ProxyTicketValidator(getCasServerUrlPrefix()); this.ticketValidator.setRenew(isRenew()); this.ticketValidator.setProxyCallbackUrl(getProxyCallbackUrl()); this.ticketValidator.setProxyGrantingTicketStorage(ProxyCallbackValve.getProxyGrantingTicketStorage()); this.ticketValidator.setAcceptAnyProxy(this.acceptAnyProxy); this.ticketValidator.setAllowedProxyChains(CommonUtils.createProxyList(this.allowedProxyChains)); if (getEncoding() != null) { this.ticketValidator.setEncoding(getEncoding()); } } }
protected void startInternal() throws LifecycleException { super.startInternal(); this.ticketValidator = new Cas20ProxyTicketValidator(getCasServerUrlPrefix()); this.ticketValidator.setRenew(isRenew()); this.ticketValidator.setProxyCallbackUrl(getProxyCallbackUrl()); this.ticketValidator.setProxyGrantingTicketStorage(ProxyCallbackValve.getProxyGrantingTicketStorage()); this.ticketValidator.setAcceptAnyProxy(this.acceptAnyProxy); this.ticketValidator.setAllowedProxyChains(CommonUtils.createProxyList(this.allowedProxyChains)); if (getEncoding() != null) { this.ticketValidator.setEncoding(getEncoding()); } } }
protected void startInternal() throws LifecycleException { super.startInternal(); this.ticketValidator = new Cas20ProxyTicketValidator(getCasServerUrlPrefix()); this.ticketValidator.setRenew(isRenew()); this.ticketValidator.setProxyCallbackUrl(getProxyCallbackUrl()); this.ticketValidator.setProxyGrantingTicketStorage(ProxyCallbackValve.getProxyGrantingTicketStorage()); this.ticketValidator.setAcceptAnyProxy(this.acceptAnyProxy); this.ticketValidator.setAllowedProxyChains(CommonUtils.createProxyList(this.allowedProxyChains)); if (getEncoding() != null) { this.ticketValidator.setEncoding(getEncoding()); } } }