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,
org.openehealth.ipf.commons.audit.AuditContext auditContext)
Constructor which sets a strategy.
|
| Modifier and Type | Method and Description |
|---|---|
protected static void |
enrichAuditDatasetFromXuaToken(org.apache.cxf.binding.soap.SoapMessage message,
org.apache.cxf.headers.Header.Direction headerDirection,
WsAuditDataset auditDataset)
Enriches the given audit dataset with elements from the XUA token (SAML2 assertion)
contained in the given CXF message.
|
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.
|
org.openehealth.ipf.commons.audit.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, processgetFaultCodePrefix, getRoles, getUnderstoodHeaders, prepareStackTraceaddAfter, addAfter, addBefore, addBefore, getAdditionalInterceptors, getAfter, getBefore, getId, getPhase, handleFault, isGET, isRequestor, setAfter, setBeforepublic static final String DATASET_CONTEXT_KEY
protected AbstractAuditInterceptor(String phase, AuditStrategy<T> auditStrategy, org.openehealth.ipf.commons.audit.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 enrichAuditDatasetFromXuaToken(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.public static XuaProcessor getXuaProcessor()
public static void setXuaProcessor(XuaProcessor xuaProcessor)
public org.openehealth.ipf.commons.audit.AuditContext getAuditContext()
Copyright © 2020 Open eHealth Foundation. All rights reserved.