Esempio n. 1
0
        public Result <UserPvo> Login(UserPvo pvo)
        {
            var res = new Result <UserPvo>();

            try
            {
                var user = GetOne(item => item.LoginName == pvo.LoginName);
                if (user == null)
                {
                    res.msg = "无效的用户";
                }
                else
                {
                    loginLogService.Add(new LoginLogPvo
                    {
                        UserId    = user.Id,
                        LoginName = user.LoginName,
                        IP        = WebHelper.GetClientIP(),
                        Mac       = WebHelper.GetClientMacAddress()
                    });
                    if (user.Password != pvo.Password.ToMD5())
                    {
                        res.msg = "登录密码错误";
                    }
                    else if (user.IsDelete)
                    {
                        res.msg = "用户已被删除";
                    }
                    else if (user.Status == UserStatus.未激活)
                    {
                        res.msg = "账号未激活";
                    }
                    else if (user.Status == UserStatus.禁用)
                    {
                        res.msg = "账号被禁用";
                    }
                    else
                    {
                        res.flag = true;
                        res.msg  = "登录成功";
                        res.data = user;
                        DateTime expiration = pvo.IsRememberMe ? DateTime.Now.AddDays(7) : DateTime.Now.Add(FormsAuthentication.Timeout);
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, user.LoginName, DateTime.Now, expiration, true, user.Id.ToString(), FormsAuthentication.FormsCookiePath);
                        HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(ticket))
                        {
                            HttpOnly = true,
                            Expires  = expiration
                        };
                        HttpContext.Current.Response.Cookies.Add(cookie);
                    }
                }
            }catch (Exception ex)
            {
                res.msg = ex.Message;
                Logger.Log(ex.Message, ex);
            }
            return(res);
        }
Esempio n. 2
0
 public bool Update(UserPvo loginlog)
 {
     using (var scope = _dbScopeFactory.Create())
     {
         var db     = GetDb(scope);
         var dbSet  = GetDbSet(db);
         var entity = Mapper.Map <UserPvo, UserEntity>(loginlog);
         dbSet.AddOrUpdate(entity);
         return(db.SaveChanges() > 0);
     }
 }