/// <summary> /// 设置客户端口验证票据 /// </summary> /// <param name="userModel"></param> /// <param name="createPersistentCookie"></param> /// <param name="strCookiePath"></param> public static void SetAuthCookie(UserModel userModel, bool createPersistentCookie, string strCookiePath = "/") { string userName = userModel.UserName; // 获得Cookie HttpCookie authCookie = FormsAuthentication.GetAuthCookie(userName, createPersistentCookie, strCookiePath); //authCookie.Name = "SopAuthCookie_" + accountName; string userData = userModel.SerializeToString(); // 根据之前的ticket凭据创建新ticket凭据,然后加入自定义信息 var newTicket = new FormsAuthenticationTicket(2, userModel.UserName, DateTime.Now, DateTime.Now.AddDays(CookieExpires), createPersistentCookie, userData, strCookiePath); // 将新的Ticke转变为Cookie值,然后添加到Cookies集合中 authCookie.Value = FormsAuthentication.Encrypt(newTicket); if (HttpContext.Current.Request.Cookies[FormsAuthentication.FormsCookieName] == null) { HttpContext.Current.Response.Cookies.Add(authCookie); } else { HttpContext.Current.Response.Cookies.Set(authCookie); } }
public JsonResult LoginIn(LoginUser loginUser) { var userResult = new CommonResult<CyUserEntity>(); try { var user = new CyUserEntity() { UserName = loginUser.UserName, UserPwd = loginUser.UserPwd, ValideCode = loginUser.ValideCode }; //验证用户信息 userResult = CyUserService.Login(user); //验证成功 if (userResult.Success) { var cyUser = userResult.ResultObj; var model = new UserModel() { UserNo = cyUser.UserNo, UserName = cyUser.UserName, NickName = cyUser.NickName, TrueName = cyUser.TrueName, MemberType = cyUser.MemberType, Role = cyUser.Role }; UserContext.SetAuthCookie(model, true); var loginLog = new CyUserLoginLogEntity() { UserNo = cyUser.UserNo, LoginIp = IpHelper.GetUserIpAddress(), LoginTime = DateTime.Now }; CyUserService.AddCyUserLoginLog(loginLog); } } catch (Exception ex) { userResult.Success = false; userResult.Message = ex.Message; } return Json(userResult, JsonRequestBehavior.AllowGet); }