Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Нестандартный вывод страницы аутентификации, Asp.net MVC 
:(
    Опции темы
MindWalker
Дата 29.6.2012, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 16.6.2012

Репутация: нет
Всего: нет



есть зарегистрированный глобальный фильтр авторизации

Код

    public class AuthorizationFilter : IAuthorizationFilter
    {
        private bool IsAuthenticated(AuthorizationContext filterContext)
        {
            return filterContext.HttpContext.User.Identity.IsAuthenticated;
        }

        private bool IsAccountController(AuthorizationContext filterContext)
        {
            return filterContext.ActionDescriptor.ControllerDescriptor.ControllerName == "Account";
        }

        public void OnAuthorization(AuthorizationContext filterContext)
        {
            if (!IsAuthenticated(filterContext) && !IsAccountController(filterContext))
            {
                //filterContext.Result = new RedirectToRouteResult(...);
            }
        }
    }



я хочу чтобы в нем, если пользователь не аутентифицирован и не проходит аутентификацию в данный момент вместо текущего действия выполнилось действие Index из Account контроллера, которое просто выводит страницу с формой аутентификации. По сути я хочу чтобы при запросе любой страницы неаутентифицированным пользователем ему выводилась страница с формой входа, но урл в браузере не менялся. 
Подскажите как это лучше реализовать или куда смотреть
PM MAIL   Вверх
Bestoloch
Дата 18.7.2012, 12:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 84
Регистрация: 29.6.2009

Репутация: нет
Всего: нет



это просто реализовать
Код

public void OnAuthorization(AuthorizationContext filterContext)
{
    if (!IsAuthenticated(filterContext) && !IsAccountController(filterContext))
    {
        filterContext.Result = new ViewResult { ViewName = "LogOn", };
    }
}

соответственно файл LogOn.cshtml следует разместить во Views/Shared если у вас не используется другая система каталога.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0619 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.