我正在使用基于 JAAS 的自定义模块来对使用 Jboss 的 SOAP 接口(interface)的用户进行身份验证。这只是一个简单的 BASIC 身份验证,使用用户名和密码。
我目前正在使用 SOAPUI 来测试接口(interface),并根据特定请求设置授权凭据。这就是问题所在:
- 向 user1 发出请求,一切按预期工作,并获得身份验证。
- 向 user2 发出请求,一切按预期工作,并获得身份验证。
- 请求不再通过 JAAS 身份验证代码运行,主题也不会随角色等进行更新。
所以简而言之,向不同的用户发出后续请求没有什么区别。顺便说一句,我在 SOAP UI 上使用“请求后关闭连接”,因为我认为这可能是来源。但问题仍然存在。
我在请求周期中缺少什么,自定义模块是否不应在每个请求上运行?
问候, OM
最佳答案
最后我自己想出了这个办法。客户端没有错误的设置等。但是在jboss的standalone.xml中设置模块时,设置了cache-type。
如果从安全域部分中删除缓存类型,则每个请求都会调用该模块。
<security-domain name="example" cache-type="default">
<authentication>
<login-module code="com.example.loginModule" flag="required"/>
</authentication>
</security-domain>
希望这对其他人有帮助。
关于java - 后续请求不会调用 JAAS 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19047631/