0

我的问题是,我可以在允许用户查看文件之前检查会话吗,例如:

http://www.somedomain/pdf/dummy.pdf

当用户单击此 url 时,我想检查会话是否有效,如果会话有效,则允许用户查看/下载文件,否则将用户带到登录页面。

谢谢。

4

2 回答 2

3

您可以编写HttpHandler并将其设置为处理 *.pdf 文件。IHttpHandler.ProcessRequest方法可以访问,HttpContext因此您可以访问会话信息并做几乎所有您想做的事情...

如何为 PDF 文件设置处理程序取决于 IIS 版本,但这里是一个通过 Web.config 文件在集成模式下为 IIS 7 执行此操作的示例。对于 7 之前的版本,仅更改 Web.config 文件是不够的,您还必须使用 IIS 管理器将扩展名映射到Aspnet_isapi.dll. 在这里这里查看详细信息。

你的问题有点时髦。也许您不想访问HttpSessionState,而只想对静态文件(例如 PDF)使用标准的 ASP.NET URL 身份验证?如果是这样,请搜索“ASP.NET 静态文件授权”,这是一个相当热门的话题。

于 2013-06-06T07:06:49.643 回答
0

这就是我想做的。感谢:@skhurams

http://www.mikesdotnetting.com/Article/122/Simple-File-Download-Protection-with-ASP.NET

于 2013-06-07T08:15:20.840 回答