CASC-34
added template methods and documentation on when they are called.
This commit is contained in:
parent
bcc80606eb
commit
daac416c7f
|
|
@ -81,6 +81,30 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
|
|||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Template method that gets executed if ticket validation succeeds. Override if you want additional behavior to occur
|
||||
* if ticket validation succeeds. This method is called after all ValidationFilter processing required for a successful authentication
|
||||
* occurs.
|
||||
*
|
||||
* @param request the HttpServletRequest.
|
||||
* @param response the HttpServletResponse.
|
||||
* @param assertion the successful Assertion from the server.
|
||||
*/
|
||||
protected void onSuccessfulValidation(final HttpServletRequest request, final HttpServletResponse response, final Assertion assertion) {
|
||||
// nothing to do here.
|
||||
}
|
||||
|
||||
/**
|
||||
* Template method that gets executed if validation fails. This method is called right after the exception is caught from the ticket validator
|
||||
* but before any of the processing of the exception occurs.
|
||||
*
|
||||
* @param request the HttpServletRequest.
|
||||
* @param response the HttpServletResponse.
|
||||
*/
|
||||
protected void onFailedValidation(final HttpServletRequest request, final HttpServletResponse response) {
|
||||
// nothing to do here.
|
||||
}
|
||||
|
||||
public final void doFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
|
||||
|
||||
if (!preFilter(servletRequest, servletResponse, filterChain)) {
|
||||
|
|
@ -112,10 +136,13 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
|
|||
request.getSession().setAttribute(CONST_CAS_ASSERTION,
|
||||
assertion);
|
||||
}
|
||||
onSuccessfulValidation(request, response, assertion);
|
||||
} catch (final TicketValidationException e) {
|
||||
response.setStatus(HttpServletResponse.SC_FORBIDDEN);
|
||||
log.warn(e, e);
|
||||
|
||||
onFailedValidation(request, response);
|
||||
|
||||
if (this.exceptionOnValidationFailure) {
|
||||
throw new ServletException(e);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@ import javax.servlet.FilterConfig;
|
|||
* @version $Revision$ $Date$
|
||||
* @since 3.1
|
||||
*/
|
||||
public final class Cas10TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
public class Cas10TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
|
||||
protected TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
protected final TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
final String casUrlServerPrefix = getPropertyFromInitParams(filterConfig, "casUrlServerPrefix", null);
|
||||
final Cas10TicketValidator validator = new Cas10TicketValidator(casUrlServerPrefix);
|
||||
validator.setRenew(Boolean.parseBoolean(getPropertyFromInitParams(filterConfig, "renew", "false")));
|
||||
|
|
|
|||
|
|
@ -1,5 +1,10 @@
|
|||
package org.jasig.cas.client.validation;
|
||||
|
||||
import org.jasig.cas.client.proxy.Cas20ProxyRetriever;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl;
|
||||
import org.jasig.cas.client.util.CommonUtils;
|
||||
|
||||
import javax.servlet.FilterChain;
|
||||
import javax.servlet.FilterConfig;
|
||||
import javax.servlet.ServletException;
|
||||
|
|
@ -7,12 +12,6 @@ import javax.servlet.ServletRequest;
|
|||
import javax.servlet.ServletResponse;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import org.jasig.cas.client.proxy.Cas20ProxyRetriever;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorage;
|
||||
import org.jasig.cas.client.proxy.ProxyGrantingTicketStorageImpl;
|
||||
import org.jasig.cas.client.util.CommonUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
|
|
@ -27,7 +26,7 @@ import java.util.List;
|
|||
* @since 3.1
|
||||
*
|
||||
*/
|
||||
public final class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
public class Cas20ProxyReceivingTicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
|
||||
/**
|
||||
* Constant representing the ProxyGrantingTicket IOU Request Parameter.
|
||||
|
|
@ -65,7 +64,7 @@ public final class Cas20ProxyReceivingTicketValidationFilter extends AbstractTic
|
|||
* @param filterConfig the Filter Configuration object.
|
||||
* @return a fully constructed TicketValidator.
|
||||
*/
|
||||
protected TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
protected final TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
final String allowAnyProxy = getPropertyFromInitParams(filterConfig, "acceptAnyProxy", null);
|
||||
final String allowedProxyChains = getPropertyFromInitParams(filterConfig, "allowedProxyChains", null);
|
||||
final String casServerUrlPrefix = getPropertyFromInitParams(filterConfig, "casServerUrlPrefix", null);
|
||||
|
|
@ -86,7 +85,7 @@ public final class Cas20ProxyReceivingTicketValidationFilter extends AbstractTic
|
|||
return validator;
|
||||
}
|
||||
|
||||
protected List constructListOfProxies(final String proxies) {
|
||||
protected final List constructListOfProxies(final String proxies) {
|
||||
if (CommonUtils.isBlank(proxies)) {
|
||||
return new ArrayList();
|
||||
}
|
||||
|
|
@ -101,7 +100,7 @@ public final class Cas20ProxyReceivingTicketValidationFilter extends AbstractTic
|
|||
/**
|
||||
* This processes the ProxyReceptor request before the ticket validation code executes.
|
||||
*/
|
||||
protected boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
|
||||
protected final boolean preFilter(final ServletRequest servletRequest, final ServletResponse servletResponse, final FilterChain filterChain) throws IOException, ServletException {
|
||||
final HttpServletRequest request = (HttpServletRequest) servletRequest;
|
||||
final HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
final String requestUri = request.getRequestURI();
|
||||
|
|
@ -136,11 +135,11 @@ public final class Cas20ProxyReceivingTicketValidationFilter extends AbstractTic
|
|||
return false;
|
||||
}
|
||||
|
||||
public void setProxyReceptorUrl(final String proxyReceptorUrl) {
|
||||
public final void setProxyReceptorUrl(final String proxyReceptorUrl) {
|
||||
this.proxyReceptorUrl = proxyReceptorUrl;
|
||||
}
|
||||
|
||||
public void setProxyGrantingTicketStorage(final ProxyGrantingTicketStorage proxyGrantingTicketStorage) {
|
||||
public final void setProxyGrantingTicketStorage(final ProxyGrantingTicketStorage proxyGrantingTicketStorage) {
|
||||
this.proxyGrantingTicketStorage = proxyGrantingTicketStorage;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,14 +12,14 @@ import javax.servlet.FilterConfig;
|
|||
* @version $Revision$ $Date$
|
||||
* @since 3.1
|
||||
*/
|
||||
public final class Saml11TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
public class Saml11TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
|
||||
public Saml11TicketValidationFilter() {
|
||||
setArtifactParameterName("SAMLart");
|
||||
setServiceParameterName("TARGET");
|
||||
}
|
||||
|
||||
protected TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
protected final TicketValidator getTicketValidator(final FilterConfig filterConfig) {
|
||||
final Saml11TicketValidator validator = new Saml11TicketValidator(getPropertyFromInitParams(filterConfig, "casServerUrlPrefix", null));
|
||||
final String tolerance = getPropertyFromInitParams(filterConfig, "tolerance", "1000");
|
||||
validator.setTolerance(Long.parseLong(tolerance));
|
||||
|
|
|
|||
Loading…
Reference in New Issue