В своем вопросе вы упоминаете, что не хотите изменять текущее сообщение SOAP - это означает, что защита на уровне сообщений отключена.
Так что вам нужно продолжать безопасность на транспортном уровне.
Даже с двухсторонним SSL вы сможете авторизовать пользователей на основе отпечатка сертификата пользователя - как это сделать, зависит от используемого вами стека.
Другие варианты: ..
- Базовая аутентификация по HTTPS
- Двуногий OAuth
Разница в том, что 2-сторонний oauth поддерживает отказ от авторства, в то время как базовая аутентификация - нет.
Независимо от механизма, который вы используете для аутентификации, вы можете использовать XACML для детальной авторизации ...