我有一个 Java Enterprise Edition Web 应用程序,一个标准的 WAR。我想将它与运行 IIS 的现有 .NET 基础结构集成。具体来说,我需要能够以某种安全的方式在两个应用程序之间共享用户会话。
有这样做的“标准”方式吗?
编辑:我不需要完整的会话共享,很抱歉没有指出这一点。我需要做的是检查用户在连接到 Java EE 应用程序时是否通过 .NET 应用程序进行了身份验证。
我有一个 Java Enterprise Edition Web 应用程序,一个标准的 WAR。我想将它与运行 IIS 的现有 .NET 基础结构集成。具体来说,我需要能够以某种安全的方式在两个应用程序之间共享用户会话。
有这样做的“标准”方式吗?
编辑:我不需要完整的会话共享,很抱歉没有指出这一点。我需要做的是检查用户在连接到 Java EE 应用程序时是否通过 .NET 应用程序进行了身份验证。
创建一个 .NET Web 服务(当然使用 WCF)来返回用户是否经过身份验证。然后从 Java EE 应用程序调用该 Web 服务。
这个开源库http://spnego.sourceforge.net将使您的 Java 应用程序能够进行透明/集成的 Windows 身份验证。
它作为 servlet 过滤器安装,因此您无需编写任何代码。
如果它们将在同一台服务器上运行,您将需要一个 isapi 重定向过滤器,例如 Tomcat 附带的 isapi_redirect.dll。
很可疑。
您必须将会话状态持久化到第三个组件,例如数据库。我怀疑这两种基础设施的内置提供程序是否完全相似(就模式等而言);所以你想必须创建自己的。
这听起来不像是一件有趣的事情。