예제 #1
0
        public bool ChangePassword(string userID, string oldPassword, string newPassword)
        {
            var             mappper = Common.GetMapper();
            UserPasswordDao updao   = new UserPasswordDao(mappper);
            var             user    = updao.QuerySingle(new UserPasswordQueryForm {
                ID = userID, Password = oldPassword
            });

            if (user == null)
            {
                throw new XinLuClubException(102, "用户或者密码错误");
            }
            updao.Update(new UserPasswordUpdateForm
            {
                Entity = new UserPassword
                {
                    Password = newPassword,
                },
                QueryForm = new UserPasswordQueryForm
                {
                    ID = userID
                },
            });

            return(true);
        }
예제 #2
0
        public bool UpdatePassword(UserPassword userPassword)
        {
            var             mapper = Common.GetMapper();
            UserPasswordDao updao  = new UserPasswordDao(mapper);

            return(updao.Update(new UserPasswordUpdateForm
            {
                Entity = new UserPassword {
                    Password = userPassword.Password
                },
                QueryForm = new UserPasswordQueryForm {
                    UserName = userPassword.UserName
                },
            }));
        }
예제 #3
0
        public bool ResetPassword(string userID, string password)
        {
            var             mapper  = Common.GetMapper();
            UserDao         userdao = new UserDao(mapper);
            UserPasswordDao updao   = new UserPasswordDao(mapper);
            var             user    = userdao.Query(new UserQueryForm {
                ID = userID
            }).FirstOrDefault();

            if (user == null)
            {
                throw new XinLuClubException(202, "用户不存在");
            }
            var up = updao.Query(new UserPasswordQueryForm {
                UserName = user.Name
            }).FirstOrDefault();

            if (up == null)
            {
                updao.Add(new UserPassword {
                    UserName = user.Name, Password = password
                });
            }
            else
            {
                updao.Update(new UserPasswordUpdateForm
                {
                    Entity = new UserPassword {
                        Password = password
                    },
                    QueryForm = new UserPasswordQueryForm {
                        UserName = user.Name
                    },
                });
            }
            return(true);
        }
예제 #4
0
        public LoginResult Login(string userName, string password)
        {
            var             mapper   = Common.GetMapper();
            UserDao         userdao  = new UserDao(mapper);
            TokenDao        tokendao = new TokenDao(mapper);
            UserPasswordDao updao    = new UserPasswordDao(mapper);

            var ups = updao.Query(new UserPasswordQueryForm {
                UserName = userName, Password = password
            });

            if (ups == null || ups.Count == 0)
            {
                throw new XinLuClubException(102, "账号或者密码错误");
            }
            var users = userdao.Query(new UserQueryForm {
                Name = userName
            });

            if (users == null || users.Count == 0)
            {
                throw new XinLuClubException(103, "账号信息不存在");
            }
            var user   = users[0];
            var userid = user.ID;

            var tokens = tokendao.Query(new TokenQueryForm {
                UserID = userid
            });
            IIDGenerator generator   = IDGeneratorFactory.Create(GeneratorType.GUID);
            string       tokenstring = generator.Generate();
            Token        token       = null;

            if (tokens == null || tokens.Count == 0)
            {
                token = new Token
                {
                    ExpiredTime = DateTime.Now.AddHours(expiredHours),
                    UserID      = userid,
                    AccessToken = tokenstring,
                };
                tokendao.Add(token);
            }
            else
            {
                token             = tokens[0];
                token.ExpiredTime = DateTime.Now.AddHours(expiredHours);
                token.AccessToken = tokenstring;
                tokendao.Update(new TokenUpdateForm
                {
                    Entity = new Token
                    {
                        AccessToken = token.AccessToken,
                        ExpiredTime = token.ExpiredTime,
                    },
                    QueryForm = new TokenQueryForm
                    {
                        ID = token.ID,
                    }
                });
            }
            SaveMe(user);
            LoginResult result = new LoginResult
            {
                Token = token,
                User  = user,
            };

            return(result);
        }