在一个以简单 REST web 服务为例的测试应用程序中,我尝试使用 JASPI 来实现 java-ee 安全性。
JASPI 与 Wildfly 合作得很快。那时,我刚刚实现了 ServerAuthModule 接口并在服务器配置中配置了该模块,一切都很好。请注意,auth 模块类只是我的应用程序的一部分。
我无法让它在 Websphere 中工作,据我所知,这一次完全实现了:http ://arjan-tijms.omnifaces.org/2012/11/implementing-container-authentication.html 。部署我的应用程序后,我遇到了这些问题:
- 身份验证在我的应用程序中被完全忽略,尽管它是根据 web.xml 中所有资源的要求指定的。未调用登录模块。
- 现在最奇怪的部分是:Websphere 自己的管理控制台失败并显示403 Forbidden状态代码。在我的身份验证模块中强制使用正确的用户名时,我可以以某种方式强制显示其中的某些部分!对控制台的每个请求都会在我的登录模块中触发断点。
使用 wsadmin 命令行控制台甚至从 java 而不是管理控制台进行部署似乎并没有改变这一点(正如预期的那样,但我在 Websphere 中看到了这方面的奇怪事情)。
在 Websphere 中启用 JASPI 和应用程序安全不会改变任何事情。
有什么我可以纠正的吗?您知道在 Websphere 上使用 JASPI 的任何示例吗?
编辑:Java EE 7 Samples的基本身份验证应用程序部署在 websphere 上,但只是忽略了安全性。