public ActionResult LogOn(LogonModel model, string returnUrl) { if (ModelState.IsValid) { #region 验证码验证 if (HasVCode) { if (!string.Equals(model.ValidateCode, Session["__VCode"])) { ModelState.AddModelError("ValidateCode", "验证码错误!"); return(View(model)); } } #endregion UserService us = new UserService(); MBR.Models.User user = us.Login(model.UserName, model.Password); if (user != null) { if (model.RememberMe) { //remerber me HttpCookie Cookie = Request.Cookies[RememberMeKey]; if (Cookie == null) { Cookie = new HttpCookie(RememberMeKey); Cookie[RememberMeKey] = model.RememberMe ? "1" : "0"; Cookie[UserNameKey] = model.UserName; //Cookie[PasswordKey] = MES.Core.Encrypt.MD5(model.Password); Cookie[PasswordKey] = model.Password; Cookie.Expires = DateTime.Now.AddMonths(1); } else { } Response.SetCookie(Cookie); } #region 权限相关 List <Module> MenuList = new List <Module>(); if (user.IsAdmin) { MenuList = us.GetAllMenuList(); } else { MenuList = us.GetUserMenuList(user.UserID); } #endregion #region 角色相关 List <Role> RoleList = new List <Role>(); RoleList = us.GetUserRoleList(user.UserID); Role Role = RoleList.FirstOrDefault(); #endregion #region 生成菜单 ModuleHelper mh = new ModuleHelper(MenuList); string MenuHTML = mh.GetModuleListHTML(); #endregion #region 会话 System.Web.HttpContext.Current.Session[Constants.SESSION_USERID] = user; System.Web.HttpContext.Current.Session[Constants.SESSION_USERMODULE] = MenuList; System.Web.HttpContext.Current.Session[Constants.SESSION_USERMODULE_HTML] = MenuHTML; #endregion return(RedirectToLocal(returnUrl)); } } ModelState.AddModelError("", "用户名或密码不正确。"); return(View(model)); }