As discussed a couple of months back, the current one-shot
WS-Addressing header extraction isn't suited for use with security.
This is because either:
1. Addressing runs before security and populates fields such as
ReplyTo/FaultTo which, if later found to be invalid would not be
un(de?)populated (which is a security risk).
2. Addressing runs after security, hence interoperable Operation-Level
security is not possible as it relies on the WS-A Action/WS-A
RelatesTo for operation identification.

I've thought about this problem a fair bit and I'm of the opinion that
security is important enough that we should break the WS-A headers
apart and change the model slightly.

The following proposal is very much open to change, but I do believe
is in the right general direction.

AddressingDispatchExtractor
  -- Extracts wsa:Action and/or wsa:RelatesTo value
  -- Determines the correct AxisOperation/OperationContext for security
    -- Does not set them in normal place on message context in case
they are invalid
    -- Places them on message context as properties
  -- Sets WS-A namespace on message context to allow security + later
WS-A handers to proces the correct headers

SecurityHandler(s)
  -- Configured based on the AxisOperation extracted by the
AddressingDispatchExtractor
  -- Validates the WS-A headers with the selected namespace (if appropriate)

AddressingRemainderInHandler
  -- Extracts remaining WS-A headers and sets them on the MessageContext
  -- Amalgem of AddressingFinalInHandler and AddressingSubmissionInHandler
    -- Namespace has already been selected so makes sense to combine

General Dispatchers

SecuredAddressingDispatchValidator
  --  Verfies that the AxisOperation to be invoked matches the
AxisOperation used for security configuration
  -- Only required if security is engaged

Backwards Compatibility
  -- For users who haven't modified the WS-A Module  - no backwards copat issues
  -- For users who have, need to modify their custom module.xml to use
the new handlers

Anyone have any thoughts on this?
Cheers,
David

-- 
David Illsley - IBM Web Services Development

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to