CASC-154
added method to AbstractCasFilter that can be overwritten in ticket validation and authentication to support other methods of retrieving the ticket.
This commit is contained in:
parent
29165243a5
commit
3b6ccaac0a
|
|
@ -109,7 +109,7 @@ public class AuthenticationFilter extends AbstractCasFilter {
|
|||
}
|
||||
|
||||
final String serviceUrl = constructServiceUrl(request, response);
|
||||
final String ticket = CommonUtils.safeGetParameter(request,getArtifactParameterName());
|
||||
final String ticket = retrieveTicketFromRequest(request);
|
||||
final boolean wasGatewayed = this.gatewayStorage.hasGatewayedAlready(request, serviceUrl);
|
||||
|
||||
if (CommonUtils.isNotBlank(ticket) || wasGatewayed) {
|
||||
|
|
|
|||
|
|
@ -25,15 +25,15 @@ import javax.servlet.ServletException;
|
|||
/**
|
||||
* Extension to the default Authentication filter that sets the required SAML1.1 artifact parameter name and service parameter name.
|
||||
* <p>
|
||||
* Note, the "final" on this class helps ensure the compliance required in the initInternal method.
|
||||
* Note, as of 3.3, the final keyword was removed to allow you to override the method to retrieve tickets, per CASC-154s
|
||||
*
|
||||
* @author Scott Battaglia
|
||||
* @since 3.1.12
|
||||
* @version $Revision$ $Date$
|
||||
*/
|
||||
public final class Saml11AuthenticationFilter extends AuthenticationFilter {
|
||||
public class Saml11AuthenticationFilter extends AuthenticationFilter {
|
||||
|
||||
protected void initInternal(final FilterConfig filterConfig) throws ServletException {
|
||||
protected final void initInternal(final FilterConfig filterConfig) throws ServletException {
|
||||
super.initInternal(filterConfig);
|
||||
|
||||
log.warn("SAML1.1 compliance requires the [artifactParameterName] and [serviceParameterName] to be set to specified values.");
|
||||
|
|
|
|||
|
|
@ -151,4 +151,14 @@ public abstract class AbstractCasFilter extends AbstractConfigurationFilter {
|
|||
public final String getServiceParameterName() {
|
||||
return this.serviceParameterName;
|
||||
}
|
||||
|
||||
/**
|
||||
* Template method to allow you to change how you retrieve the ticket.
|
||||
*
|
||||
* @param request the HTTP ServletRequest. CANNOT be NULL.
|
||||
* @return the ticket if its found, null otherwise.
|
||||
*/
|
||||
protected String retrieveTicketFromRequest(final HttpServletRequest request) {
|
||||
return CommonUtils.safeGetParameter(request,getArtifactParameterName());
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -158,7 +158,7 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
|
|||
|
||||
final HttpServletRequest request = (HttpServletRequest) servletRequest;
|
||||
final HttpServletResponse response = (HttpServletResponse) servletResponse;
|
||||
final String ticket = CommonUtils.safeGetParameter(request, getArtifactParameterName());
|
||||
final String ticket = retrieveTicketFromRequest(request);
|
||||
|
||||
if (CommonUtils.isNotBlank(ticket)) {
|
||||
if (log.isDebugEnabled()) {
|
||||
|
|
@ -219,8 +219,4 @@ public abstract class AbstractTicketValidationFilter extends AbstractCasFilter {
|
|||
public final void setUseSession(final boolean useSession) {
|
||||
this.useSession = useSession;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -27,21 +27,19 @@ import javax.servlet.ServletException;
|
|||
* <p>
|
||||
* Deployers can provide the "casServerUrlPrefix" and "tolerance" properties of the Saml11TicketValidator via the
|
||||
* context or filter init parameters.
|
||||
* <p>
|
||||
* Note, the "final" on this class helps ensure the compliance required in the initInternal method.
|
||||
*
|
||||
* @author Scott Battaglia
|
||||
* @version $Revision$ $Date$
|
||||
* @since 3.1
|
||||
*/
|
||||
public final class Saml11TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
public class Saml11TicketValidationFilter extends AbstractTicketValidationFilter {
|
||||
|
||||
public Saml11TicketValidationFilter() {
|
||||
setArtifactParameterName("SAMLart");
|
||||
setServiceParameterName("TARGET");
|
||||
}
|
||||
|
||||
protected void initInternal(final FilterConfig filterConfig) throws ServletException {
|
||||
protected final void initInternal(final FilterConfig filterConfig) throws ServletException {
|
||||
super.initInternal(filterConfig);
|
||||
|
||||
log.warn("SAML1.1 compliance requires the [artifactParameterName] and [serviceParameterName] to be set to specified values.");
|
||||
|
|
|
|||
Loading…
Reference in New Issue