示例#1
0
        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));
        }
示例#2
0
        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) });
                }
            }
        }