我目前正试图为我的公司开发一个单点登录功能。我们有许多应用程序,每个应用程序都驻留在自己的应用程序服务器和/或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页面。
是否存在此类功能,如果存在,您如何提供示例?
答案 0 :(得分:1)
mod_rewrite是让用户看到一个URL但服务器以不同内容回复的第一件事。您可能必须列出要忽略的重写模式的所有有效URL。
只有WebSphere,您可以使用自定义过滤器来检测所有已知的URL,但我不知道您(轻松和有效地)如何发送不同JSP的结果。我很确定这不是一些内置的,简单的功能。这部分行为有多重要?没有它,过滤器和重定向将满足在访问未知的页面时将人们发送到公共页面的基本要求。
另一个可能为您提供一些有用功能的框架是Spring Security。
最后,从哲学角度考虑您是否真的希望不存在的URL响应,就像它们确实存在一样。这不是一个普通的HTTP模式。