Я создаю веб-приложение ASP.NET MVC2, которое требует сложной аутентификации и бизнес-логики, которые не могут быть достигнуты с использованием готовых форм аутентификации.
Я новичок в MVC, так что терпите меня ...
Мой план состоял в том, чтобы пометить все методы ограниченного просмотра одним или несколькими пользовательскими атрибутами (которые содержат дополнительные данные).
Затем контроллер переопределит метод OnActionExecuting, чтобы перехватывать запросы, анализировать атрибуты целевого представления и выполнять различные действия, в том числе перенаправлять пользователя в разные места.
У меня работает анализ перехвата и анализа атрибутов, но перенаправление работает не так, как ожидалось.
Я попытался установить для ActionExecutingContext.Result значение NULL и даже попытался подделать контроллеры с помощью отражения и вызвать их методы действия. Без кубиков.
Мне удалось добиться этого таким образом ...
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
filterContext.HttpContext.Response.Redirect("/MyView", false);
base.OnActionExecuting(filterContext);
}
Это похоже на взлом, и должен быть лучший способ ...