Wss4jSecurityInterceptor design

Details

Description

Wss4jSecurityInterceptor implementation has design restriction making it practically imposible to extend. While working on Kerberos extension in Wss4j, I have to add new properties to configure ServicePrincipalName etc. I suggest to:

change scope from private to protected for method Wss4jSecurityInterceptor#initializeRequestData(messageContext) for ability to access ReqData custom properties or

make Wss4jHandler public so it make sense to use generic set/getOptions in subclasses

Activity

There is no way to get access to RequestData through any other means and therefore forced to use the default WSSConfig. Changing the scope of initializeRequestData would allow users to inject custom WSSconfig into the RequestData.

Attaching a patch where initializeRequestData is protected along with an additional enhancement to configure the WSSConfig for both the WSSecurityEngine and RequestData

Kyle Cronin
added a comment - 18/Aug/11 2:41 PM There is no way to get access to RequestData through any other means and therefore forced to use the default WSSConfig . Changing the scope of initializeRequestData would allow users to inject custom WSSconfig into the RequestData .
Attaching a patch where initializeRequestData is protected along with an additional enhancement to configure the WSSConfig for both the WSSecurityEngine and RequestData