コード例 #1
0
ファイル: UserContext.cs プロジェクト: chenggang1987/chuanyu
        /// <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);
            }
        }
コード例 #2
0
        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);
        }