/// <summary> /// 判断Cookie信息 /// </summary> private void CheckCookieInfo() { if (Request.Cookies["ckUid"] != null && Request.Cookies["ckPwd"] != null) { string userName = Request.Cookies["ckUid"].Value; string userPwd = Request.Cookies["ckPwd"].Value; //判断Cookie中存储的用户密码和用户名是否正确. SMUSERTB person = SMUSERTBService.ValidateUser(userName, userPwd); if (person != null) { string sessionId = Guid.NewGuid().ToString(); //作为Memcache的key var account = person.ToAccount(); Common.MemcacheHelper.Set(sessionId, Common.SerializerHelper.SerializeToString(account), DateTime.Now.AddMinutes(20)); //使用Memcache代替Session解决数据在不同Web服务器之间共享的问题。 Response.Cookies["sessionId"].Value = sessionId; //将Memcache的key以cookie的形式返回到浏览器端的内存中,当用户再次请求其它的页面请求报文中会以Cookie将该值再次发送服务端。 //Response.Redirect("/Home/Index"); 尽量不要用这样的写法 RedirectToAction("Index", "Home"); } else { //如果说帐号秘密是错误的,就没必要再把登录用户名和密码存在cookies中了 Response.Cookies["ckUid"].Expires = DateTime.Now.AddDays(-1); Response.Cookies["ckPwd"].Expires = DateTime.Now.AddDays(-1); } } }
//[SupportFilter] public ActionResult Delete(FormCollection collection) { string returnValue = string.Empty; int[] deleteId = collection["query"].GetString().ToIntList().ToArray <int>(); if (deleteId != null && deleteId.Length > 0) { SMLOG _SMLOG = new SMLOG { OPERATION_TYPE = "D", FUNC_CODE = "010000", USER_ID = UserId, CLASSNAME = this.GetType().ToString() + strDelete }; int userId = deleteId[0]; var userInfo = SMUSERTBService.LoadEntities(x => x.USER_ID == userId).FirstOrDefault(); List <int> roleIds = userInfo.SMROLETB.Select(x => x.ROLE_ID).ToList(); var userRoles = SMROLETBService.LoadEntities(x => roleIds.Contains(x.ROLE_ID)).ToList(); foreach (var v in userRoles) { userInfo.SMROLETB.Remove(v); } if (SMUSERTBService.DeleteEntity(userInfo)) { _SMLOG.REMARK = "用户:" + GetCurrentAccount().USER_NAME + Suggestion.DeleteSucceed; SMLOGService.AddEntity(_SMLOG);//删除成功,写入日志 return(Json("OK")); } else { _SMLOG.REMARK = "用户:" + GetCurrentAccount().USER_NAME + Suggestion.DeleteFail; SMLOGService.AddEntity(_SMLOG);//删除失败,写入日志 } returnValue = _SMLOG.REMARK; } return(Json(returnValue)); }
public JsonResult Details(int id) { var result = SMUSERTBService.LoadEntities(x => x.USER_ID == id).ToList(); var item = result.Select(u => new UserView { USER_ID = u.USER_ID, USER_NAME = u.USER_NAME, U_ID = u.U_ID, GENDER = u.GENDER, STATUS = u.STATUS, U_PASSWORD = u.U_PASSWORD, CREATION_USER = u.CREATION_USER, UPDATE_USER = u.UPDATE_USER, CREATION_TIME = u.CREATION_TIME, UPDATE_TIME = u.UPDATE_TIME, CreateUserName = u.SMUSERTB3 == null?string.Empty:u.SMUSERTB3.USER_NAME, UpdateUserName = u.SMUSERTB2 == null?string.Empty:u.SMUSERTB2.USER_NAME, COMPONENT_ID = u.COMPONENT_ID, GenderName = u.GENDER.GetGenderName(), StatusName = u.STATUS.GetStatusName(), RoleNames = u.SMROLETB.Select(x => x.ROLE_NAME).ToList() }).FirstOrDefault(); foreach (var s in item.RoleNames) { item.SysRoleId += s + ","; } string usernames = string.IsNullOrWhiteSpace(item.SysRoleId) ? string.Empty : item.SysRoleId.TrimEnd(','); item.SysRoleId = usernames; return(Json(item, JsonRequestBehavior.AllowGet)); }
//[SupportFilter] public ActionResult Edit(int id, SMUSERTB entity) { if (entity != null && ModelState.IsValid) { entity.UPDATE_USER = UserId; string returnValue = string.Empty; SMLOG _SMLOG = new SMLOG { OPERATION_TYPE = "U", FUNC_CODE = "010702", USER_ID = UserId, CLASSNAME = this.GetType().ToString() + strEdit }; List <int> oldRoleIds = entity.SysRoleIdOld.GetIdSort(); List <int> roleIds = entity.SysRoleId.GetIdSort(); if (SMUSERTBService.UpdateUserInfo(oldRoleIds, entity, roleIds)) { _SMLOG.REMARK = "用户:" + entity.USER_NAME + Suggestion.UpdateSucceed; SMLOGService.AddEntity(_SMLOG); //写入日志 return(Json(Suggestion.UpdateSucceed)); //提示更新成功 } else { _SMLOG.REMARK = "用户:" + entity.USER_NAME + Suggestion.UpdateFail + "原因:" + returnValue; SMLOGService.AddEntity(_SMLOG); //写入日志 return(Json(Suggestion.UpdateFail + returnValue)); //提示更新失败 } } return(Json(Suggestion.UpdateFail + "请核对输入的数据的格式")); //提示输入的数据的格式不对 }
public HomeController(SMUSERTBService userService, SMMENUTBService menuService, SMMENUROLEFUNCTBService menuRoleService) { SMUSERTBService = userService; SMMENUTBService = menuService; SMMENUROLEFUNCTBService = menuRoleService; }
public SysUserController(SMLOGService logService, SMROLETBService roleService, SMUSERTBService userService) { SMLOGService = logService; SMROLETBService = roleService; SMUSERTBService = userService; }
public JsonResult GetData(UserInfoParam userInfoParam) { var queryData = SMUSERTBService.LoadSearchEntities(userInfoParam); var data = queryData.Select(u => u.ToPoCo()); //构造成Json的格式传递 var result = new { total = data.Count(), rows = data }; return(Json(result, JsonRequestBehavior.AllowGet)); }
/// <summary> /// 首次编辑 /// </summary> /// <param name="id">主键</param> /// <returns></returns> //[SupportFilter] public ActionResult Edit(int id) { if (id < 1) { return(null); } SMUSERTB entity = SMUSERTBService.LoadEntities(x => x.USER_ID == id).FirstOrDefault(); entity.U_PASSWORD = xEncrypt.DecryptText(entity.U_PASSWORD);//解密 entity.SurePassword = entity.U_PASSWORD; return(View(entity)); }
[ValidateAntiForgeryToken]//防伪造令牌来避免CSRF攻击 public ActionResult Index(LogOnModel model) { #region 验证码验证 if (Session["ValidateCode"] != null && model.ValidateCode != null && model.ValidateCode.ToLower() != Session["ValidateCode"].ToString()) { ModelState.AddModelError("Error_PersonLogin", "验证码错误!"); return(View()); } //Session["ValidateCode"] = null; #endregion if (ModelState.IsValid) { SMUSERTB person = SMUSERTBService.ValidateUser(model.PersonName, xEncrypt.EncryptText(model.Password)); if (person != null) //登录成功 { Account account = person.ToAccount(); string sessionId = Guid.NewGuid().ToString();//作为Memcache的key try { MemcacheHelper.Set(sessionId, Common.SerializerHelper.SerializeToString(account), DateTime.Now.AddMinutes(20));//使用Memcache代替Session解决数据在不同Web服务器之间共享的问题。 } catch (Exception ex) { throw new Exception(ex.Message); } Response.Cookies["sessionId"].Value = sessionId;//将Memcache的key以cookie的形式返回到浏览器端的内存中,当用户再次请求其它的页面请求报文中会以Cookie将该值再次发送服务端。 if (model.RememberMe) { HttpCookie ckUid = new HttpCookie("ckUid", model.PersonName); HttpCookie ckPwd = new HttpCookie("ckPwd", xEncrypt.EncryptText(model.Password)); ckUid.Expires = DateTime.Now.AddDays(3); ckPwd.Expires = DateTime.Now.AddDays(3); Response.Cookies["sessionId"].Expires = DateTime.Now.AddDays(3); Response.Cookies.Add(ckUid); Response.Cookies.Add(ckPwd); } return(RedirectToAction("Index", "Home")); } } ModelState.AddModelError("Error_PersonLogin", "用户名或者密码出错。"); return(View()); }
public ActionResult Index() { var result = SMUSERTBService.LoadEntities(x => x.STATUS == "Y").ToList(); ViewBag.Name = result != null && result.Count > 0? result.FirstOrDefault().USER_NAME:""; Account account = GetCurrentAccount(); if (account == null) { return(RedirectToAction("Index", "Login")); } else { ViewData["PersonName"] = account.UID; ViewData["Menu"] = SMMENUTBService.GetMenuByAccount(ref account);// 获取菜单 } return(View()); }
//[SupportFilter] public ActionResult Create(SMUSERTB entity) { if (entity != null && ModelState.IsValid) { entity.CREATION_TIME = DateTime.Now; entity.CREATION_USER = UserId; entity.U_PASSWORD = xEncrypt.EncryptText(entity.U_PASSWORD);//加密 string returnValue = string.Empty; if (SMUSERTBService.LoadEntities(x => x.U_ID == entity.U_ID).FirstOrDefault() != null) { returnValue = "登录名已存在!"; return(Json(Suggestion.InsertFail + returnValue)); } SMLOG _SMLOG = new SMLOG { OPERATION_TYPE = "N", FUNC_CODE = "010702", USER_ID = UserId, CLASSNAME = this.GetType().ToString() + strCreate }; List <int> roleIds = entity.SysRoleId.GetIdSort(); entity.SMROLETB = SMROLETBService.LoadEntities(x => roleIds.Contains(x.ROLE_ID)).ToList(); var result = SMUSERTBService.AddEntity(entity); if (result != null) { _SMLOG.REMARK = "用户:" + entity.USER_NAME + Suggestion.InsertSucceed; SMLOGService.AddEntity(_SMLOG);//写入日志 return(Json(Suggestion.InsertSucceed)); } else { _SMLOG.REMARK = "用户:" + entity.USER_NAME + Suggestion.InsertFail + "原因:" + returnValue; SMLOGService.AddEntity(_SMLOG);//写入日志 //提示插入失败 return(Json(Suggestion.InsertFail + returnValue)); } } return(Json(Suggestion.InsertFail + "请核对输入的数据的格式")); //提示输入的数据的格式不对 }
public ActionResult ChangePassword(ChangePasswordModel model) { string currentPerson = GetCurrentAccount().UID; ViewBag.PersonNamea = currentPerson; if (string.IsNullOrWhiteSpace(currentPerson)) { ModelState.AddModelError("Error_PwdModify", "对不起,请重新登陆"); return(View()); } if (ModelState.IsValid) { if (null != (SMUSERTBService.ValidateUser(currentPerson, xEncrypt.EncryptText(model.OldPassword)))) { if (SMUSERTBService.ChangePassword(currentPerson, xEncrypt.EncryptText(model.OldPassword), xEncrypt.EncryptText(model.NewPassword))) { ModelState.AddModelError("Error_PwdModify", "修改密码成功"); return(View()); } } } ModelState.AddModelError("Error_PwdModify", "修改密码不成功,请核实数据"); return(View()); }
public LoginController(SMUSERTBService userService) { SMUSERTBService = userService; }