コード例 #1
0
        public override bool ValidateUser(string username, string password)
        {
            using (MyOSBBContext _db = new MyOSBBContext())
            {
                User user = _db.Users.FirstOrDefault(u => u.Login == username);

                if (user != null && Crypto.VerifyHashedPassword(user.Password, password))
                {
                    return(true);
                }
                return(false);
            }
        }
コード例 #2
0
 public override string[] GetRolesForUser(string username)
 {
     string[] roles = new string[] { };
     using (MyOSBBContext _db = new MyOSBBContext())
     {
         User user = _db.Users.Include(u => u.Role).FirstOrDefault(u => u.Login == username);
         if (user != null && user.Role != null)
         {
             roles = new string[] { user.Role.Name };
         }
         return(roles);
     }
 }
コード例 #3
0
        public override bool IsUserInRole(string username, string roleName)
        {
            using (MyOSBBContext db = new MyOSBBContext())
            {
                // Получаем пользователя
                User user = db.Users.Include(u => u.Role).FirstOrDefault(u => u.Email == username);

                if (user != null && user.Role != null && user.Role.Name == roleName)
                {
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
        }
コード例 #4
0
        public MembershipUser UpdateUser(int id, string login, string password, string firstName,
                                         string lastName, string middleName, string email, string phone, string codeForResetPassword)
        {
            MembershipUser membershipUser = GetUser(login, false);

            if (membershipUser != null)
            {
                try
                {
                    using (MyOSBBContext _db = new MyOSBBContext())
                    {
                        User user = new User();
                        user.Id                   = id;
                        user.Login                = login;
                        user.Password             = password;
                        user.FirstName            = firstName;
                        user.LastName             = lastName;
                        user.MiddleName           = middleName;
                        user.Email                = email;
                        user.Phone                = phone;
                        user.CodeForResetPassword = codeForResetPassword;
                        if (_db.Roles.Find(3) != null)
                        {
                            user.RoleId = 3;
                        }
                        user.Role = _db.Roles
                                    .Where(r => r.Id == user.RoleId).FirstOrDefault();
                        User userToUpdate = _db.Users
                                            .Where(u => u.Login == login).FirstOrDefault();
                        _db.Entry(userToUpdate).CurrentValues.SetValues(user);
                        _db.SaveChanges();
                        return(membershipUser);
                    }
                }
                catch
                {
                    return(null);
                }
            }
            return(null);
        }
コード例 #5
0
        public MembershipUser CreateUser(string login, string password, string firstName,
                                         string lastName, string middleName, string email, string phone)
        {
            MembershipUser membershipUser = GetUser(login, false);

            if (membershipUser == null)
            {
                try
                {
                    using (MyOSBBContext _db = new MyOSBBContext())
                    {
                        User user = new User();
                        user.Login                = login;
                        user.Password             = Crypto.HashPassword(password);
                        user.FirstName            = firstName;
                        user.LastName             = lastName;
                        user.MiddleName           = middleName;
                        user.Email                = email;
                        user.Phone                = phone;
                        user.CodeForResetPassword = null;
                        if (_db.Roles.Find(3) != null)
                        {
                            user.RoleId = 3;
                        }

                        _db.Users.Add(user);
                        _db.SaveChanges();
                        membershipUser = GetUser(login, false);
                        return(membershipUser);
                    }
                }
                catch
                {
                    return(null);
                }
            }
            return(null);
        }
コード例 #6
0
 public override MembershipUser GetUser(string username, bool userIsOnline)
 {
     try
     {
         using (MyOSBBContext _db = new MyOSBBContext())
         {
             var users = from u in _db.Users
                         where u.Login == username
                         select u;
             if (users.Count() > 0)
             {
                 User           user       = users.First();
                 MembershipUser memberUser = new MembershipUser("CustomMembershipProvider", user.Login, null, null, null, null,
                                                                false, false, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue);
                 return(memberUser);
             }
         }
     }
     catch
     {
         return(null);
     }
     return(null);
 }