Example #1
0
        public async Task <JsonModel> ChangePWD(string username, string cur_pwd, string new_pwd)
        {
            try
            {
                var user = await(from c in _dbContext.Users where c.UserName == username select c).FirstOrDefaultAsync();

                if (user == null)
                {
                    return(new JsonModel(false, "用户不存在", null));
                }

                string cur_md5pwd = Md5Util.Encode(Md5Util.Encode(cur_pwd + _pwd_salt) + username);

                if (cur_md5pwd != user.Password)
                {
                    return(new JsonModel(false, "当前密码错误", null));
                }
                string new_md5pwd = Md5Util.Encode(Md5Util.Encode(new_pwd + _pwd_salt) + username);

                user.Password = new_md5pwd;

                _dbContext.Users.Update(user);

                await _dbContext.SaveChangesAsync();

                return(new JsonModel(true, "修改成功", null));
            }
            catch (Exception e)
            {
                return(new JsonModel(false, "修改失败", e.Message));
            }
        }
Example #2
0
        private string GenarateStreamCode(int userid)
        {
            Random random = new Random();
            string c      = userid + random.Next() + "932qj@dawrr" + DateTime.Now.Ticks.ToString();
            string result = Md5Util.Encode(Md5Util.Encode(c) + "th8jusde21@HRFIh");

            return(result);
        }
Example #3
0
        public async Task <string> Login(string username, string password)
        {
            string md5pwd = Md5Util.Encode(Md5Util.Encode(password + _pwd_salt) + username);
            var    linq   = from c in _dbContext.Users
                            where c.UserName == username && c.Password == md5pwd
                            select c;
            User user = await linq.FirstOrDefaultAsync();

            if (user == null)
            {
                return("用户名或密码不正确");
            }
            UserData userdata = new UserData
            {
                UserId    = user.Id,
                UserName  = user.UserName,
                LoginTime = DateTime.Now
            };

            try
            {
                var roles = await(from c in _dbContext.UserRoles
                                  join cc in _dbContext.Roles on c.UserId equals cc.Id
                                  where c.UserId == user.Id
                                  select cc).ToListAsync();
                userdata.Roles = roles;
                //角色权限
                var per1 = from c in _dbContext.UserPermissions
                           join cc in _dbContext.Permissions
                           on c.PermissionId equals cc.Id
                           where c.UserId == user.Id
                           select cc;
                //用户权限
                var per2 = from c in _dbContext.UserRoles
                           join cc in _dbContext.RolePermissions on c.RoleId equals cc.RoleId
                           join ccc in _dbContext.Permissions on cc.PermissionId equals ccc.Id
                           where c.UserId == user.Id
                           select ccc;
                var pers = await per1.Union(per2).ToListAsync();

                userdata.Permissions = pers;
                MyHttpContext.Current.Session.Set("UserData", userdata);
                MyHttpContext.Current.Session.SetString("UserId", user.Id.ToString());
                return("true");
            }
            catch (Exception ex)
            {
                return(ex.ToString());
            }
        }
Example #4
0
        public async Task <string> Register(User user)
        {
            string userName = user.UserName;

            if (userName.Length < 1 || user.Password.Length < 1)
            {
                return("用户名或密码长度不足");
            }
            var linq = from c in _dbContext.Users
                       where c.UserName == userName
                       select 1;

            if (await linq.AnyAsync())
            {
                return("用户名已存在"); //重复名
            }
            user.Password = Md5Util.Encode(Md5Util.Encode(user.Password + _pwd_salt) + userName);
            await _dbContext.Users.AddAsync(user);

            await _dbContext.SaveChangesAsync();

            MyHttpContext.Current.Session.SetString("_register", "_register");
            return("true");
        }