110,527
社区成员
发帖
与我相关
我的任务
分享
[CheckLogin]
public class GridManageController :BaseController
{
// GET: Grid
public ActionResult Index()
{
if (base.UserInfo == null)
{
return View();
}
ViewBag.UserRealName = base.UserInfo.RealName;
Base_MenuBLL bll = new Base_MenuBLL();
ViewBag.authorizeMenu = bll.GetMenuList(1, base.UserInfo.RoleID);
return View();
}
}
$(function () {
$("#logout").click(function () {
$.post("/login/Logout",
{},
function (data) {
layer.alert(data.msg);
window.location.href = "/";
});
});
public class LoginController : BaseController
{
/// <summary>
/// 用户主动注销登录
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult Logout()
{
//清理cookie 和DataCache
base.CleanUserInfo();
return Json(new { msg="注销成功"});
}
<li><a href="" id="logout">安全退出</a></li>
修改之后:
<li><a href="javascript:;" id="logout">安全退出</a></li>
public class CheckLogin : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
var cookie = HttpContext.Current.Request.Cookies["UserToken"];
//无cookie则需要先登录
if (cookie == null)
{
HttpContext.Current.Response.Redirect("/login/index?msg=请先登录");
HttpContext.Current.Response.End();
return;
}
var user = Common.DataCache.GetCache(Common.DESEncrypt.Decrypt(cookie.Value));
//有cookie但服务端无用户信息,也需要先登录
if (user == null)
{
HttpContext.Current.Response.Redirect("/login/index?msg=请先登录");
HttpContext.Current.Response.End();
return;
}
}
}