ASP.NET MVC: пользовательские параметры для входа на страницу после авторизации - PullRequest
0 голосов
/ 24 мая 2009

Я бы хотел перенаправить посетителей на страницу входа с добавленными параметрами (в зависимости от выполняемого ими действия) после неудачной авторизации.

Это пример того, что я хотел бы сделать:

ASP.NET MVC - действие фильтра CustomeAuthorize с использованием внешнего веб-сайта для входа пользователя

Однако, поскольку это пользовательский фильтр, я не знаю, как или могу ли я указать роли, как в обычном фильтре авторизации. Я хотел бы что-то вроде:

[CustomAuthorization(Roles="Admins")]

Спасибо!

Ответы [ 3 ]

1 голос
/ 24 мая 2009

Вы можете наследовать от класса AuthorizeAttribute и переопределить метод OnAuthorize следующим образом:

public override void OnAuthorization(AuthorizationContext filterContext)
{
    base.OnAuthorization(filterContext);
    if (!HttpContext.Current.User.IsAuthenticated)
    {
        filterContext.Result = new RedirectResult("target");

    }
}

Затем вы можете использовать этот пользовательский фильтр так же, как AuthorizeAttribute.

0 голосов
/ 30 ноября 2010

Как насчет использования просто Request.Form в вашем пользовательском классе авторизации. В конце концов, это просто вызов POST? Не делайте это сложнее, чем есть на самом деле.

0 голосов
/ 24 мая 2009

Вы пытались загрузить исходный код ASP.Net MVC и взглянуть на код AuthorizeAttribute (в AutorizeAttribute.cs)?

Возможно, имеет смысл извлечь ваше CustomAutorization из существующего AuthorizeAttribute - проверьте его и посмотрите, сможете ли вы использовать все необходимые функции.

...