public async Task <Tuple <bool, string> > Reg(RegViewModel rvm) { var au = new Users { UserName = rvm.UserName, UserPassword = rvm.UserPassword, Password = Security.Sha256(rvm.UserPassword), LoginIP = Utils.GetIP(), UserLoginNum = 0, Valid = false, lastdate = DateTime.Now, ActiveCode = Guid.NewGuid().ToString("N") }; Insert(au); await UserDetailManage.InsertAsync(new UserDetail { DisplayName = rvm.DisplayName, CompanyName = rvm.CompanyName, Email = rvm.Email, Address = rvm.Address, Tel = rvm.Tel, UserID = au.UserID, }); await UserRoleManage.InsertAsync(new UserRole { UserID = au.UserID, RoleID = 4 }); return(await SendRegisterMail(au.UserName, au.UserID.ToString(), au.ActiveCode, rvm.Email)); }
public async Task <object> Login(string u, string p, bool auto) { var sp = Security.Sha256(p); var usr = await GetAsync(n => n.UserName == u && n.Password == sp); if (usr == null) { return(new { status = 0, text = "用户名或密码错误!" }); } else { if (usr.Valid == false) { //注册邮箱激活处理 if (string.IsNullOrEmpty(usr.ActiveCode)) { var ac = Guid.NewGuid().ToString("N"); usr.ActiveCode = ac; await UpdateAsync(usr); var s = await SendRegisterMail(usr.UserName, usr.UserID.ToString(), ac, usr.UserDetail.Email); if (!s.Item1) { return new { status = 0, text = s.Item2 } } ; } return(new { status = 0, text = "该账号尚未激活,请至注册邮箱激活后登录!" }); } else { await UserRoleManage.InsertUserRoleByMagazine(usr); usr.LoginIP = Utils.GetIP(); usr.UserLoginNum = usr.UserLoginNum + 1; usr.lastdate = DateTime.Now; usr.EntryPoint = EntryPoint.Magazine; await UpdateAsync(usr); SetSession(usr.UserID, usr.UserName, await RoleAuthoriseManage.GetAuthoriseByUser(usr)); if (auto) { SetCookie(usr.UserName, usr.Password); } return(new { status = 1, text = string.Format("您好,{0}", usr.UserName) }); } } }