Security 如何将html页面嵌入到jsp中,同时避免重复登录,同时将html单独托管到web应用程序中?

Security 如何将html页面嵌入到jsp中,同时避免重复登录,同时将html单独托管到web应用程序中?,security,apache,jsp,tomcat,iframe,Security,Apache,Jsp,Tomcat,Iframe,我有一个tomcat托管的web应用程序,在web应用程序显示的一个jsp页面中,我正在使用iframe嵌入html文档 我需要将html页面与web应用程序分离,这样就可以在不需要重新启动原始web应用程序或编辑访问web应用程序的情况下对其进行更改 html页面必须是安全的,不能以任何方式直接使用,也就是说,只能在该web应用程序中使用或通过验证用户来使用。我还希望避免让用户同时登录到iframe中的web应用程序和页面 我不知道如何处理这个问题,我有一个apache服务器,php,当然还有

我有一个tomcat托管的web应用程序,在web应用程序显示的一个jsp页面中,我正在使用iframe嵌入html文档

我需要将html页面与web应用程序分离,这样就可以在不需要重新启动原始web应用程序或编辑访问web应用程序的情况下对其进行更改

html页面必须是安全的,不能以任何方式直接使用,也就是说,只能在该web应用程序中使用或通过验证用户来使用。我还希望避免让用户同时登录到iframe中的web应用程序和页面

我不知道如何处理这个问题,我有一个apache服务器,php,当然还有tomcat供我使用

我可以想到两种方法,但不确定如何实施:
  • 我从jsp页面传递身份验证详细信息,并将所有用户名等存储在.htaccess文件要检查的其他位置(不理想,因为这意味着要维护两个用户名/密码文件)
  • 我以某种方式强制这些页面只能在显示在此iframe中时才能访问,即使用web应用程序作为身份验证程序,并保持网页只能通过它访问。
  • 目前,我只能想到一种相当笨拙的双重登录方式,在apache服务器上使用.htaccess,这将要求用户在查看文档之前再次输入用户名和密码

    有人能想出一个更优雅的解决方案吗

    谢谢


    CJ

    最简单的方法是不通过公共Web服务器提供HTML页面,而只是将它们托管在公共Web内容之外的某个固定路径中。然后,您可以创建一个servlet,该servlet通过
    FileInputStream
    获取HTML文件的
    InputStream
    ,并将其写入servlet响应的
    OutputStream
    ,该响应是通过
    HttpServletResponse#getOutputStream()
    通常的Java IO方式获得的

    然后,在JSP中,只需将
    src改为指向该servlet,并将所需的HTML文件作为请求参数或路径信息

    <iframe src="htmlservlet/file.html" />
    
    
    

    通过这种方式,您可以在一个地方(JSP/Servlet webapp)控制身份验证。

    Hi Balus,谢谢您——我想这是我将遵循的解决方案:)我不会将此标记为“已回答”,因为它本身不会直接回答问题。不过,这是一个很好的解决方法-谢谢!CJI没有看到任何优雅的解决方案:)