Setup (используя MVC 4)ASP.net MVC глобальный Авторизоваться фильтр форсирование входа на действие AllowAnonymous
public class MyAuthorizeAttribute : AuthorizeAttribute {
protected override bool AuthorizeCore(HttpContextBase httpContext) {
var isAuthorised = base.AuthorizeCore(httpContext);
if(isAuthorised) {
// retrieve authentication ticket from cookie and
// create custome principal and attach to
// httpContext.User
}
return isAuthorised;
}
}
Gloabl.asax.cs:
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
filters.Add(new MyAuthorizeAttribute());
}
HomeController.cs:
using System.Web.Mvc;
public class HomeController : Controller
{
[AllowAnonymous]
public ActionResult Index()
{
return View();
}
}
Задача
Вызов главной страницы заставляет загружать страницу входа в систему.
Вопрос
Когда() действие HomeController.Index украшен [AllowAnonymous], почему ASP перенаправить меня к мнению входа?
Я использую this статью для справки
Я только что проверил со встроенным авторизованным, и он отлично работает для меня. Возможно, вам придется проверить свой код авторизации. – VJAI
Я пробовал со встроенным атрибутом Authorize, заменяя атрибут, добавляемый в глобальный фильтр в моем global.asax, но я все еще перенаправляюсь на страницу входа при вызове действия индекса на домашнем контроллере. Я что-то упускаю? Некоторые настройки в моей веб-конфигурации? У меня нет провайдера членства, поставщика ролей или поставщика профилей. Должен ли я? –
Параметры проверки подлинности форм в файле web.config - это тот, который перенаправляется на страницу входа в систему. Но вам не нужны дополнительные настройки. Я попытался создать новый шаблон приложения/интернет-MVC 4, обозначающий Home Control с полномочиями Authorize и Index с помощью AllowAnonymous, и он работал должным образом. – VJAI