【发布时间】:2013-07-02 15:39:42
【问题描述】:
我有一个带有以下控制器的 MVC4 Web 应用程序
[Authorize]
public class AccountController : BaseController
{
[AllowAnonymous]
public ActionResult SignInRegister(LoginModel loginModel, string returnUrl)
{
//some implementation
}
//other secured actions
}
这在本地运行时按预期工作,但一旦我将其部署到免费 Azure 网站,我就会收到 401 错误代码和消息:You do not have permission to view this directory or page.
删除[Authorize] 属性并重新部署按预期工作,再次添加它并重新部署会带来问题。
我什至尝试了完全限定的类名:System.Web.Mvc.Authorize 和 System.Web.Mvc.AllowAnonymous,结果相同。
应用使用 .NET 4.5,Azure 网站也配置为使用 4.5。
更新:
BaseController 有一个动作,它以未使用[AllowAnonymous] 修饰的局部视图返回标题。在本地,它导致页面显示没有标题,但在 Azure 网站上,响应被切断,只返回上面提到的错误消息。在我特意查看之前,我没有意识到标题丢失了。
现在要问的问题是:为什么 Azure 网站会覆盖响应?
【问题讨论】:
-
您应该发布您的更新作为答案。
标签: asp.net-mvc asp.net-mvc-4 authorization