Я новичок в MVC. Я создаю новое веб-приложение в MVC4 Razor. Я хочу поддерживать сеанс входа пользователя для всех страниц. Может ли кто-нибудь объяснить мне, как поддерживать сеанс для всех представлений в MVC с небольшим примером.
Управление сессиями в MVC
Ответы (3)
Управление сеансом простое. Объект сеанса доступен внутри контроллера MVC и в HttpContext.Current.Session
. Это один и тот же объект. Вот базовый пример использования Session:
Напишите
Session["Key"] = new User("Login"); //Save session value
Читать
user = Session["Key"] as User; //Get value from session
Отвечая на ваш вопрос
if (Session["Key"] == null){
RedirectToAction("Login");
}
Ознакомьтесь с Аутентификация с помощью форм, чтобы внедрить высоконадежную модель аутентификации.
ОБНОВЛЕНИЕ. Для более новых версий ASP.NET MVC следует использовать ASP.NET Identity Framework. Ознакомьтесь с этой статьей.
[Authorize]
).
- person Brad Christie; 04.10.2013
Вот пример. Скажем, мы хотим управлять сеансом после проверки проверки пользователя, поэтому только для этой демонстрации я жестко проверяю действительного пользователя. В аккаунте Войти
public ActionResult Login(LoginModel model)
{
if(model.UserName=="xyz" && model.Password=="xyz")
{
Session["uname"] = model.UserName;
Session.Timeout = 10;
return RedirectToAction("Index");
}
}
На индексной странице
public ActionResult Index()
{
if(Session["uname"]==null)
{
return Redirect("~/Account/Login");
}
else
{
return Content("Welcome " + Session["uname"]);
}
}
Кнопка «При выходе»
Session.Remove("uname");
return Redirect("~/Account/Login");
Вы работали над приложением Asp.Net? Используя проверку подлинности с помощью форм, вы можете легко поддерживать сеанс пользователя.
Найдите приведенные ниже ссылки для справки: http://www.codeproject.com/Articles/578374/AplusBeginner-27splusTutorialplusonplusCustomplusF http://msdn.microsoft.com/en-us/library/ff398049(v=vs.100).aspx