Package waffle.servlet.spi

# Interface SecurityFilterProvider

All Known Implementing Classes:
  `BasicSecurityFilterProvider`, `NegotiateSecurityFilterProvider`

public interface SecurityFilterProvider
A security filter provider.

Author:
  dblock[at]dblock[dot]org

## Method Summary

Modifier and Type
Method
Description
`IWindowsIdentity`
`doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response)`
Execute filter.
`void`
`initParameter(String parameterName, String parameterValue)`
Init a parameter.
`boolean`
`isPrincipalException(javax.servlet.http.HttpServletRequest request)`
Returns true if despite having a principal authentication needs to happen.
`boolean`
`isSecurityPackageSupported(String securityPackage)`
Tests whether a specific security package is supported.
`void`
`sendUnauthorized(javax.servlet.http.HttpServletResponse response)`
Add authentication method headers.

## Method Details

### sendUnauthorized

void sendUnauthorized(javax.servlet.http.HttpServletResponse response)
Add authentication method headers.

Parameters:
  `response` - Http Response.

### isPrincipalException

boolean isPrincipalException(javax.servlet.http.HttpServletRequest request)
Returns true if despite having a principal authentication needs to happen.

Parameters:
  `request` - Http Request.
Returns:
  True if authentication is required.

### doFilter

IWindowsIdentity doFilter(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response) throws IOException
Execute filter.

Parameters:
  `request` - Http Servlet Request.
  `response` - Http Servlet Response.
Returns:
  A Windows identity in case authentication completed or NULL if not. Thrown exceptions should be caught and processed as 401 Access Denied.
Throws:
  `IOException` - on doFilter.

### isSecurityPackageSupported

boolean isSecurityPackageSupported(String securityPackage)
Tests whether a specific security package is supported.

Parameters:
  `securityPackage` - Security package.
Returns:
  True if the security package is supported, false otherwise.

### initParameter

void initParameter(String parameterName, String parameterValue)
Init a parameter.

Parameters:
  `parameterName` - Parameter name.
  `parameterValue` - Parameter value.