Asp classic 在服务器上隐藏PDF文档,但登录用户可以看到它们吗?
假设我的web服务器上有一堆PDF文档,这些文档是由我的用户系统上传到web服务器的。 说他们是绝密的或非常私人的;可能是外汇。可以是薪水支票、客户合同或发票 如何隐藏PDF文档,但让登录到我的用户系统的用户可以看到和下载 这有可能吗 我使用的是完全专用的MicrosoftWebServer2008和SQLServer2008以及IIS7。我正在使用ASP Classic编写服务器脚本。Asp classic 在服务器上隐藏PDF文档,但登录用户可以看到它们吗?,asp-classic,Asp Classic,假设我的web服务器上有一堆PDF文档,这些文档是由我的用户系统上传到web服务器的。 说他们是绝密的或非常私人的;可能是外汇。可以是薪水支票、客户合同或发票 如何隐藏PDF文档,但让登录到我的用户系统的用户可以看到和下载 这有可能吗 我使用的是完全专用的MicrosoftWebServer2008和SQLServer2008以及IIS7。我正在使用ASP Classic编写服务器脚本。 是的,我一直在谷歌上搜索这个场景,我真的找不到一个具体的例子来说明如何做到这一点。这也让我相信,这是不可能
是的,我一直在谷歌上搜索这个场景,我真的找不到一个具体的例子来说明如何做到这一点。这也让我相信,这是不可能的:/将它们放在域文件夹上方的文件夹中。将它们放在域文件夹上方的文件夹中。您想要的是能够将文件流式传输到浏览器
这样做可能会遇到的一个问题是服务器内存的限制。ASP在发送整个文件之前将其加载到内存中。因此,如果您使用非常大的文件执行此操作,可能会遇到问题 您需要的是能够将文件流式传输到浏览器
这样做可能会遇到的一个问题是服务器内存的限制。ASP在发送整个文件之前将其加载到内存中。因此,如果您使用非常大的文件执行此操作,可能会遇到问题 首先,您可以使用一些难看的ASP代码将PDF内容传送到客户端,但当您有可爱的现代服务器可供使用时,我不会引导您这样做 希望您没有任何需要经典管道的旧ISAPI过滤器。因此,您的应用程序池将运行集成管道 我相信您可以使用ASP.NET global.asax页面过滤传入请求,即使是集成管道中的静态内容。
AuthorizeRequest
可能是放置代码的好地方
您可能需要调整现有的登录系统(可能取决于ASP会话),以便在登录请求的响应中添加额外的会话cookie(其名称和值由您指定)
您可以将PDF文件放在应用程序的某个子文件夹下。然后,Global.asax
code-behind中的代码可以确定传入的请求是否针对该子文件夹,如果是,则可以检查请求上的cookie,以确定会话cookie是否存在,以及它是否具有有效值
这有两个好处:-
首先,您可以使用一些难看的ASP代码将PDF内容传输到客户端,但当您有可爱的现代服务器可供使用时,我不会引导您这样做 希望您没有任何需要经典管道的旧ISAPI过滤器。因此,您的应用程序池将运行集成管道 我相信您可以使用ASP.NET global.asax页面过滤传入请求,即使是集成管道中的静态内容。
AuthorizeRequest
可能是放置代码的好地方
您可能需要调整现有的登录系统(可能取决于ASP会话),以便在登录请求的响应中添加额外的会话cookie(其名称和值由您指定)
您可以将PDF文件放在应用程序的某个子文件夹下。然后,Global.asax
code-behind中的代码可以确定传入的请求是否针对该子文件夹,如果是,则可以检查请求上的cookie,以确定会话cookie是否存在,以及它是否具有有效值
这有两个好处:-
用户如何登录到您的系统?这是intranet吗?用户是否登录到web服务器可以识别的域?他们的登录方式与您在标准网站上的登录方式相同,在标准网站上,会话将检查您是否登录以及使用的用户帐户。用户如何登录到您的系统?这是intranet吗?用户是否登录到web服务器可以识别的域?他们的登录方式与您在标准网站上的登录方式相同,在标准网站上,会话将检查您是否登录以及您使用的用户帐户。这如何使经过身份验证的用户可以访问文件,而其他用户无法访问文件。您可以检索物理文件路径显示这是否有效通过身份验证的用户可以访问文件,但其他用户无法访问。您可以检索物理文件路径。如果遇到这些问题,文件会很大吗?:)@FoxInSocks:如果您关闭缓冲,则不会,但是当您这样做时,客户端不再能够提供良好的进度信息。如果我遇到这些问题,文件会有多大?:)@FoxInSocks:如果你关闭缓冲,就不会了,但是当你这样做的时候,客户端不再能够提供良好的进度信息。我肯定会在将来编写更多的ASP.NET代码,但是从ASP到ASP.NET是一个相当大的进步。这就像学习一门全新的语言:)所以现在,这一步太大了我已经在使用cookies定义一个唯一的密钥字符串,该字符串也在我的数据库中定义,以在会话过期时支持长时间登录。--我的IIS7安装是一个默认的安装,还没有接触过,所以我想应该没有旧的ISAPI过滤器:)---Contin