public ActionResult FirstLogin(FirstLoginRequest request)
        {
            var flag = false;
            var msg  = string.Empty;

            //只能修改当前登录用户的密码
            //新密码不能和原密码一样
            //修改成功需要重新生成cookie
            if (CurrentUserInfo == null || CurrentUserInfo.Id != request.Id)
            {
                msg = "未知错误,重置密码失败";
                return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
            }

            if (CurrentUserInfo.UserPwd.Equals(request.NewPwd.To32bitMD5()))
            {
                msg = "新密码不能和默认密码一样!";
                return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
            }

            using (var factory = new ChannelFactory <IWebFxsCommonService>("*"))
            {
                var client = factory.CreateChannel();
                var result = client.InitUserPwd(request);
                if (result.ReturnCode == ReturnCodeType.Success && result.Content == true)
                {
                    //更新cookie
                    FormsIdentity             id        = (FormsIdentity)HttpContext.User.Identity;
                    FormsAuthenticationTicket ticketOld = id.Ticket;
                    CurrentUserInfo.UserPwd     = request.NewPwd.To32bitMD5();
                    CurrentUserInfo.IsChangePwd = true;

                    FormsAuthentication.SignOut();
                    FormsAuthenticationTicket ticket = new FormsAuthenticationTicket
                                                       (
                        2,
                        CurrentUserInfo.UserId,
                        DateTime.Now,
                        ticketOld.Expiration,
                        false,
                        CurrentUserInfo.ToJson()
                                                       );
                    HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket));
                    if (ticket.Expiration != new DateTime(9999, 12, 31))
                    {
                        cookie.Expires = ticketOld.Expiration;
                    }
                    HttpContext.Response.Cookies.Add(cookie);

                    flag = true;
                    msg  = "重置密码成功";
                }
                else
                {
                    msg = "重置密码失败!";
                    return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
                }
            }

            return(Json(new { success = flag, msg = msg }, JsonRequestBehavior.AllowGet));
        }