0

我目前正在尝试为我的公司开发单点登录功能。我们有一堆应用程序,每个应用程序都驻留在自己的应用程序服务器和/或 EAR 中。我们甚至会跨平台,因为并非所有 Web 应用程序都使用 WebSphere。

Websphere 中是否有一种方法允许用户在上下文根中键入任何地址,并且如果该页面不存在,则执行一个公共页面?

例如:

http://myhost/MyApp/login.jsp  

这将存在并且转到该地址将带您到 login.jsp 页面

http://myhost/MyApp/foo.jsp     

这将不存在,但转到它或任何其他不存在的页面将转到 foobar.jsp。用户仍应看到

http://myhost/MyApp/foo.jsp

在 URL 中,但执行 foobar.jsp 页面。

是否存在这种类型的功能,如果存在,您如何提供示例?

4

1 回答 1

1

mod_rewrite 是让用户看到一个 URL 但服务器以不同的内容响应的第一件事。您可能必须列出要忽略的重写模式的所有有效 URL。

仅使用 WebSphere,您可以使用自定义过滤器来检测所有已知的 URL,但我不知道您将如何(轻松有效地)发送不同 JSP 的结果。我很确定这不是一些内置的、简单的功能。这部分行为有多重要?没有它,过滤器加重定向将满足在人们访问未知页面时将他们发送到公共页面的基本要求。

另一个可能为您提供一些有用功能的框架是 Spring Security。

最后,从哲学上考虑您是否真的希望不存在的 URL 像它们确实存在一样响应。这不是一个正常的 HTTP 模式。

于 2012-08-25T21:45:33.827 回答