由于要尽可能保持Web服务无状态的雄心,我遇到了一个问题。我最近开始与Axis2合作,并试图找到可行的身份验证解决方案。通过身份验证,我的意思是用户/密码。我已经将SSL与WS-Policy结合使用来确保程序调用的安全。然而,我发现一些与Rampart 1.6.2捆绑在一起的样本已经过时,特别是名为“sample-tomcat”和它们的WSPasswordCallback处理程序(找到了here)的策略示例。 WSPasswordCallback.USERNAME_TOKEN_UNKNOWN
在1.6中被弃用,并且WSPasswordCallback.getPassword()
总是返回null,即使在消息的安全性标头中的UsernameToken元素中提供了密码。Axis2用户认证
所以。我不确定在哪里进行每个消息的用户名/密码检查。我正在看这两个选项:
用执行用户名/密码身份验证的处理程序编写模块。
放弃无状态并编写一个登录服务返回所有其他服务所需的令牌。
还有其他的选择吗?
我不认为你可以摆脱无国籍状态,但你可以通过请求中的一些信息进行身份验证/授权。 –
摆脱无国籍?那么,我可以实现状态,这是肯定的。但我希望尽可能少的状态,最好没有任何。 – Wrench