【发布时间】:2014-03-21 18:03:16
【问题描述】:
我在 ASP.Net MVC 中有一个表单,它允许您上传文件。该文件将保存到服务器上的某个位置。例如域为www.test-domain.com,本地路径为c:\websites\test-domain.com\,则图片存储在/uploads/File/image.jpg中。
当我尝试访问此 URL http://www.test-domain.com/uploads/File/image.jpg 时,我被重定向到 web.config 中的 forms loginUrl="XXXX" 路径。为了测试,我完全删除了 web.config,并访问了该文件。这一次,我收到了401 - Unauthorized: Access is denied due to invalid credentials。
然后我这次通过 FTP 上传了另一个文件到http://www.test-domain.com/uploads/File/image2.jpg。这个可以毫无问题地访问。我什至尝试下载通过 Asp.Net 保存的image.jpg,删除服务器上的文件并通过 FTP 重新上传相同的文件,它又可以工作了!
似乎通过 FTP 工作,而通过 Asp.Net 不知何故有一些访问/授权要求。我确实在 Asp.Net 中设置了身份验证,但我删除了整个 web.config 文件,但仍然出现错误。
有什么想法吗?
【问题讨论】:
-
你能比较两个文件的安全细节吗?查看
image2.jpg中的用户是否与image.jpg上的用户不同 -
@QuetiM.Porta 感谢您的提醒。这些文件确实具有不同的安全权限。但是,问题正如答案中所解释的那样,我正在移动文件,最初我不知道发生了这种情况。
标签: asp.net asp.net-mvc asp.net-mvc-4 web-config authorization