public abstract class AbstractAuditInterceptor<T extends WsAuditDataset> extends AbstractSafeInterceptor
Modifier and Type | Field and Description |
---|---|
static String |
DATASET_CONTEXT_KEY
Key used to store audit datasets in Web Service contexts.
|
Modifier | Constructor and Description |
---|---|
protected |
AbstractAuditInterceptor(String phase,
AuditStrategy<T> auditStrategy,
AuditContext auditContext)
Constructor which sets a strategy.
|
Modifier and Type | Method and Description |
---|---|
protected static void |
extractAddressesFromServletRequest(org.apache.cxf.binding.soap.SoapMessage message,
WsAuditDataset auditDataset)
Extracts service URI and client IP address from the servlet request.
|
protected static void |
extractClientCertificateCommonName(org.apache.cxf.binding.soap.SoapMessage message,
WsAuditDataset auditDataset)
Extract TLS information from servlet request, if available
|
protected static Object |
extractPojo(org.apache.cxf.message.Message message)
Extracts POJO from the given CXF message.
|
protected static void |
extractUserIdFromWSAddressing(org.apache.cxf.binding.soap.SoapMessage message,
boolean isInbound,
boolean inverseWsaDirection,
WsAuditDataset auditDataset)
Extracts user ID from an WS-Addressing SOAP header and stores it in the given
audit dataset.
|
protected static void |
extractXuaUserNameFromSaml2Assertion(org.apache.cxf.binding.soap.SoapMessage message,
org.apache.cxf.headers.Header.Direction headerDirection,
WsAuditDataset auditDataset)
Extracts ITI-40 XUA user name from the SAML2 assertion contained
in the given CXF message, and stores it in the ATNA audit dataset.
|
AuditContext |
getAuditContext() |
protected T |
getAuditDataset(org.apache.cxf.binding.soap.SoapMessage message)
Returns an audit dataset instance which corresponds to the given message.
|
protected AuditStrategy<T> |
getAuditStrategy()
Returns the audit strategy associated with this interceptor.
|
static XuaProcessor |
getXuaProcessor()
Processor for extracting SAML tokens when XUA is used
|
static void |
setXuaProcessor(XuaProcessor xuaProcessor)
Processor for extracting SAML tokens when XUA is used
|
handleMessage, process
getFaultCodePrefix, getRoles, getUnderstoodHeaders, prepareStackTrace
addAfter, addAfter, addBefore, addBefore, getAdditionalInterceptors, getAfter, getBefore, getId, getPhase, handleFault, isGET, isRequestor, setAfter, setBefore
public static final String DATASET_CONTEXT_KEY
protected AbstractAuditInterceptor(String phase, AuditStrategy<T> auditStrategy, AuditContext auditContext)
phase
- the phase in which to use this interceptor.auditStrategy
- an audit strategy instance. null
values are
explicitly prohibited.
protected T getAuditDataset(org.apache.cxf.binding.soap.SoapMessage message)
When no such instance is currently associated with the message, a new one
will be created by means of the corresponding AuditStrategy
and registered in the message's exchange.
message
- CXF message currently handled by this interceptor.null
when this instance
could be neither obtained nor created from scratch.protected AuditStrategy<T> getAuditStrategy()
null
when none configured.protected static void extractUserIdFromWSAddressing(org.apache.cxf.binding.soap.SoapMessage message, boolean isInbound, boolean inverseWsaDirection, WsAuditDataset auditDataset)
message
- CXF message.isInbound
- true
when the CXF message is an inbound one,
false
otherwise.inverseWsaDirection
- true
when direction is actually inversed, i.e. when the
user ID should be taken not from the "ReplyTo:" WS-Addressing header,
but from "To:" --- useful for asynchronous responses, where the endpoint
which receives the response is not the endpoint which sent the request.auditDataset
- target audit dataset.protected static void extractXuaUserNameFromSaml2Assertion(org.apache.cxf.binding.soap.SoapMessage message, org.apache.cxf.headers.Header.Direction headerDirection, WsAuditDataset auditDataset)
message
- source CXF message.headerDirection
- direction of the header containing the SAML2 assertion.auditDataset
- target ATNA audit dataset.protected static void extractAddressesFromServletRequest(org.apache.cxf.binding.soap.SoapMessage message, WsAuditDataset auditDataset)
protected static void extractClientCertificateCommonName(org.apache.cxf.binding.soap.SoapMessage message, WsAuditDataset auditDataset)
protected static Object extractPojo(org.apache.cxf.message.Message message)
null
when none found.@Generated(value="lombok") public static XuaProcessor getXuaProcessor()
@Generated(value="lombok") public static void setXuaProcessor(XuaProcessor xuaProcessor)
@Generated(value="lombok") public AuditContext getAuditContext()
Copyright © 2018 Open eHealth Foundation. All rights reserved.