我有一个管理员和用户会话。如何在asp.net mvc4中将多个会话值设置为null?
Session["uname"]
Session["Admin"]
我的查询是当会话结束时,只有管理员重定向到登录页面。但是当用户会话结束后,它不会重定向到登录页面。
请给我建议如何为管理员和用户设置会话。
这里是我的代码
用户是我的控制器
登录行动
[HttpPost]
public ActionResult Login(Models.User user)
{
var query = db.Users.Where(q => q.UserName == user.UserName
&& q.Password == user.Password);
if (ModelState.IsValid)
{
// Session["uname"] = true;
if (query.Any())
{
if (query.FirstOrDefault().Role.Role1.ToLower() == "admin")
{
Session["admin"] = true;
return RedirectToAction("Index", "user");
}
else
{
Session["uname"] = true;
return RedirectToAction("Details", "user",
new { id = query.FirstOrDefault().Id });
}
}
}
return View(user);
}
这里是Index操作
public ActionResult Index()
{
var users = db.Users.ToList();
if (Session["uname"] != null || Session["Admin"]==null)
{
return RedirectToAction("Login", "User");
}
else if (Session["admin"] != null)
{
return View(users.ToList());
}
else
{
return RedirectToAction("About", "Home");
}
}
感谢进阶ANCE。
后用户的会话结束它显示是这样的
Register | Sign In
Details
UserName
User
Password
User
Role1
User
Edit | Back to List
你的代码是不工作??? – 2015-03-13 09:21:17
@EhsanSajjad我的代码正在处理我的系统。 – User26 2015-03-13 09:46:27