阻止用户查看PDF直到他们登录为止?

时间:2012-05-03 21:26:17

标签: asp-classic

我正在使用旧的经典ASP网站,并且有一个目录,其中包含一些PDF文档。有没有办法阻止用户通过直接链接(www.example.com/example.pdf)访问所述pdf文档,直到他们登录为止?如果是这样,我该怎么做呢?

4 个答案:

答案 0 :(得分:0)

ASP是否具有成员资格提供程序中的内置提供程序,该成员资格提供程序通过该目录中的web.config中的几行来控制访问

http://msdn.microsoft.com/en-us/library/yh26yfzy%28v=vs.80%29.aspx

答案 1 :(得分:0)

Microsft的以下文章解释了如何使用传统ASP保护对某些页面的访问。

How To Use Simple ASP Code to Password Protect Your ASP Pages

以下是一些适用于ASP.NET的其他链接,但也许您可以在经典ASP中使用相同的想法。

Thread: How do I password protect a sub folder of my website, to deny anonymous access?

这是一篇类似的文章:Protecting Folders with Forms Authentication

答案 2 :(得分:0)

我认为您的网站已经有了登录基础设施。

如果不是,你应该首先添加它http://www.evolt.org/node/28652

然后创建页面并将其放在要保护的资源的位置。例如。将http://youwebsite.com/dir1/dir2/file.pdf替换为http://yourwebsite.com/dir1/dir2/getfilepdf.asp

在新脚本中检查用户是否已完成登录,如果没有将其发送回登录页面。 如果用户经过了正确的身份验证,请阅读该文件并使用Response.BinaryWrite将其返回到浏览器。

网上到处都是样品。读这个| http://support.microsoft.com/kb/307603

答案 3 :(得分:0)

列出文档的页面上的密码保护不会阻止直接访问文档。例如,如果您的文档按文件夹视图列出或从任何网页链接,则地球上的每个搜索引擎和蜘蛛都已知道文档在您网站中的位置。所以这就是你能做的......

首先将文档文件夹移动到根级别以下,然后使用FileSystemObject传递文档。对于超过2-4 Mb的文件,您应该以“块”形式提供它们。

现在,您可以向下载脚本添加条件,以验证用户的登录状态或重定向到登录。您的评论链接现在看起来像:

http://somesite.com/load-pdf.asp?id=mydocuent.pdf

如果您按文件夹视图提供文档列表,则仍可以使用FileSystemObject执行此操作。