2012-07-23 64 views
1

我已经搜索了我的问题的答案,但到目前为止还没有找到任何东西(对我有用)。对PDF文件夹不起作用的文件夹的Web.config授权

我有一些pdf文件的文件夹,认证的用户应该可以在我的mvc3应用程序下载。 在互联网上搜索了一段时间后,我发现我应该把Web.config文件夹中使用此代码:

<configuration> 
    <system.web> 
     <authorization> 
      <deny users="?"/> 
     </authorization> 
    </system.web> 
</configuration> 

或像这样在根Web.config文件

<location path="~/Downloads/"> 
    <system.web> 
     <authorization> 
     <deny users="?" /> 
     </authorization> 
    </system.web> 
</location> 

这应该拒绝所有匿名用户。

我在我的视图中有一个列表,并带有这些文档的链接。喜欢的东西:

<a href="/Downloads/example.pdf">Download this document</a> 

但是,我仍然可以访问并下载文件,即使我没有登录

我这么想吗? 还是有其他(更好)的方法来做到这一点?

+0

你真的在使用ASP.net mvc 3吗?还是那个mistag? – podiluska 2012-07-23 11:03:51

+0

“我有一个pdf文档的文件夹,认证的用户应该可以在我的mvc3应用程序中下载” - 我认为这会回答你的问题 – 2012-07-23 11:22:23

+0

正如@MihaiLabo已经说过的,是的,我正在使用一个asp.net mvc3应用程序。 – Mitch 2012-07-23 11:28:04

回答

1

您需要在由ASP.NET处理的文件类型中包含.pdf。

How to: Configure an HTTP Handler Extension in IIS

+0

将web.config放在目录中,我按照您发送的链接中的步骤操作。现在,当我尝试访问documnets时,会将我重定向到登录视图。这很好。但是.....当我登录并尝试访问文档时,我在Chrome中收到错误324(net :: ERR_EMPTY_RESPONSE)。 IE只是说它不能显示页面。 – Mitch 2012-07-23 12:24:40

+0

确保ASP.NET帐户有权读取这些文件。 – Paparazzi 2012-07-23 12:36:40

+0

我不知道该怎么做。 (我对此有点新鲜)。是否登录不足以阅读这些文件? – Mitch 2012-07-23 12:46:36