У меня есть MVC4 веб-приложение, с помощью следующего контроллераПочему AllowAnonymous не работает во время развертывания на Azure-сайтах?
[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 Website также настроен на использование 4.5.
UPDATE: BaseController
имеет действие, которое возвращает заголовок, как частичный вид, который не был украшен [AllowAnonymous]
. Локально это привело к тому, что страница отображалась без заголовка, но на сайтах Azure ответ был отключен и возвращался только с сообщением об ошибке, упомянутым выше. Я не понял, что заголовок пропал, пока я нарочно не посмотрел на него.
Теперь вопрос задает вопрос: почему сайты Azure перекрывают ответ?
Вы должны опубликовать свое обновление в качестве ответа. – Kyle