Using Cookie in Asp.Net Mvc 4
I have web application in Asp.Net MVC4 and I want to use cookie for user's
login and logout. So my actions as follows:
Login Action
[HttpPost]
public ActionResult Login(string username, string pass)
{
if (ModelState.IsValid)
{
var newUser =
_userRepository.GetUserByNameAndPassword(username, pass);
if (newUser != null)
{
var json = JsonConvert.SerializeObject(newUser);
var userCookie = new HttpCookie("user", json);
userCookie.Expires.AddDays(365);
HttpContext.Response.Cookies.Add(userCookie);
return RedirectToActionPermanent("Index");
}
}
return View("UserLog");
}
LogOut Action
public ActionResult UserOut()
{
if (Request.Cookies["user"] != null)
{
var user = new HttpCookie("user")
{
Expires = DateTime.Now.AddDays(-1),
Value = null
};
Response.Cookies.Add(user);
}
return RedirectToActionPermanent("UserLog");
}
And I use this cookie in _Loyout as follow:
@using EShop.Core
@using Newtonsoft.Json
@{
var userInCookie = Request.Cookies["user"];
}
...
@if (userInCookie != null && userInCookie.Value)
{
<li><a href="#">Salam</a></li>
<li><a href="@Url.Action("UserOut", "Home")">Cýxýþ</a></li>
}
else
{
<li><a href="@Url.Action("UserLog", "Home")">Giriþ</a></li>
}
But When I click UserOut action this action happen first time, but then it
doesn't work. I put breakpoint for looking process but it get UserLog
action doesn't UserOut. My question is that where I use wrong way of
cookie? What is a best way using cookie in Asp.Net Mvc4?
Personal injury law is a difficult field to get a case fought in. That means you should only an experienced lawyer. Look for a lawyer with a great track record so you give yourself the best advantage.
ReplyDeleteonestopautomarket.com |
pahomeassist.com |
pennhomesde.com |
powertech-haiti.com |
privatelyguidedtours.com |