【发布时间】:2012-04-09 19:43:26
【问题描述】:
我有一个使用表单身份验证的 C# MVC 3 框架编写的网站。该站点允许匿名查看其大部分内容,但有一个包含 PDF 文档的目录,需要用户通过身份验证才能查看。
这几乎一直有效,但偶尔经过身份验证的用户会遇到问题。当他们点击一个文档时,他们会反复被重定向到登录屏幕,迫使他们重新进行身份验证。一旦他们这样做,他们就会被重定向到文档。不是一场彻底的灾难,但对用户来说仍然很烦人。另一种情况是经过身份验证的用户可以很好地打开一个 PDF 文档,但是如果他们单击该文档中的链接将他们重定向到同一目录中的另一个 PDF 文档,系统将强制他们重新进行身份验证。
我最初认为这可能是浏览器/cookie 问题,但从我通过与有此问题的用户交谈收集到的信息来看,它可能发生在 Firefox 或 IE 上,并且启用了历史记录/cookie。几个月前,我也在一家酒店使用他们的公共 WI-FI 遇到过这个问题,但我从来没有在工作中使用我的办公室连接或在家中遇到过。
该网站允许匿名用户访问,但 PDF 文档所在的目录包含以下 web.config 文件:
<?xml version="1.0"?>
<configuration>
<system.web>
<authentication>
<deny users=”?” />
</authentication>
</system.web>
</configuration>
我完全不知道这些用户可能会发生什么。任何想法都会非常有帮助。
【问题讨论】:
-
您可以从阅读这篇文章开始:hanselman.com/blog/…
-
克雷格,感谢您的建议。我阅读了这篇文章,但除非我遗漏了什么,否则 PDF 文件似乎得到了很好的处理,除了一些用户体验的额外步骤,即在查看它们之前必须重新验证。这篇文章似乎也关注动态创建的文件,我的内容是完全静态的。如果有什么我错过的,我会很感激你能提供任何见解。
-
您在 MVC 中,但您的 web.config 设置为拒绝匿名用户? MVC 通常在 Controller 操作上使用
[Authorize]属性。我会删除那个配置文件。
标签: c# asp.net-mvc forms-authentication