1

我经常@{ Html.RenderAction("Method", "Controller"); }在我的视图中使用嵌入额外的内容。由于一个错误,尽管用户没有登录,但这样的RenderAction尝试访问一个被装饰的控制器。[Authorize]

然后发生了一些可怕的事情:当页面加载时,浏览器打开一个表单并要求提供凭据。当您尝试访问受密码保护的目录(通过 .htaccess)时,该表单看起来就像您看到的那样。
通过反复试验,我能够登录 - 使用我的管理员 ftp 帐户的凭据。后来会员码认为我已经登录了(用用户名[MachineName]\[FTPUserName]),导致了很多新的bug(因为我自己的代码无法将这个帐户与用户id关联)。

虽然我所要做的只是修复第一个错误,但我真的很想知道为什么 asp.net 的会员代码能够使用 FTP 凭据进行登录,以及为什么它首先尝试这样做。

附加信息:当我在我的个人计算机上调试程序时,并没有出现这个错误,只是在我发布它的网络服务器上。

请询问是否需要更多信息。

4

1 回答 1

0

我认为这可能是因为某些静态文件(例如图像)位于每个人都不可见的文件夹中。IIS_IUSRS 是否对目录服务器具有读取权限(在文件夹的属性/安全性中)?您的 FTP 设置中是否有自定义规则来保护某些文件?这应该可以解释为什么它可以在您的计算机上运行但不能在线运行。这更像是一个 IIS 设置问题,而不是一个 MVC 问题。

于 2013-10-30T13:09:00.407 回答