2015-07-01 2 views
1

Я разрабатываю веб-приложение с использованием ASP.Net MVC 4, приложение имеет одну страницу входа и 5 других страниц, которые будут доступны только для входа в систему. Так как я глобально проверить наличие сессии во всех страницах без написания следующего кода во всех других страницах (действия): -проверка и перенаправление в глобальном масштабе в asp.net mvc 4

if (Session["login"] != null) 
     { 
      return View(); 
     } 
     else 
     { 
      return RedirectToAction("LoginPage"); 
     } 

Есть ли другой способ проверить сеанс (авторизация) на глобальном уровне и перенаправить на страницу входа (действие)? Возможно ли это через файл макета? Как я создаю общий макет заголовка для всех страниц, к которым будут обращаться зарегистрированные пользователи, поэтому в этом макете заголовка можно проверить сеанс (авторизацию) и перенаправить на страницу входа (если не войти в систему)?

+0

использовать атрибут «Авторизовать». http://www.asp.net/web-api/overview/security/authentication-and-authorization-in-aspnet-web-api – ramiramilu

+0

Вы можете взглянуть на это: Аутентификация формы в ASP.NET MVC http: //www.codeproject.com/Articles/578374/AplusBeginner-splusTutorialplusonplusCustomplusF –

+0

@ trungtin1710 благодарит за полезную ссылку, возможно ли это через файл макета? как я создам общий макет заголовка для всех страниц, к которым будут обращаться зарегистрированные пользователи, поэтому в этом макете заголовка можно проверить сеанс (авторизацию) и перенаправить на страницу входа (если не войти в систему)? – MAK

ответ

0

Вы можете упростить заполнение каждого действия с помощью «базового» контроллера, украшенного атрибутом [Authorize], а затем других наследуемых от него контроллеров. Это позволит сохранить авторизацию «дочерним» контроллерам и их действиям. Это, однако, становится проблематичным, если вы хотите реализовать роли в членстве, где разные действия имеют разные роли.

Смежные вопросы