コード例 #1
0
 public override string[] GetAllRoles()
 {
     using (var usersContext = new UsersContext())
     {
         return usersContext.Roles.Select(r => r.RoleName).ToArray();
     }
 }
コード例 #2
0
 public override bool IsUserInRole(string username, string roleName)
 {
     using (var usersContext = new UsersContext())
     {
         var user = usersContext.Users.SingleOrDefault(u => u.UserName == username);
         if (user == null)
             return false;
         return user.UserRoles != null && user.UserRoles.Select(u => u.Role).Any(r => r.RoleName == roleName);
     }
 }
コード例 #3
0
 public override string[] GetRolesForUser(string username)
 {
     using (var usersContext = new UsersContext())
     {
         var user = usersContext.Users.SingleOrDefault(u => u.UserName == username);
         if (user == null)
             return new string[]{};
         return user.UserRoles == null ? new string[] { } : user.UserRoles.Select(u => u.Role).Select(u => u.RoleName).ToArray();
     }
 }
コード例 #4
0
        private User SetupFormsAuthTicket(string userName, bool persistanceFlag)
        {
            User user;
            using (var usersContext = new UsersContext())
            {
                user = usersContext.GetUser(userName);
            }
            var userId = user.UserId;
            var userData = userId.ToString(CultureInfo.InvariantCulture);
            var authTicket = new FormsAuthenticationTicket(1, //version
                                                        userName, // user name
                                                        DateTime.Now,             //creation
                                                        DateTime.Now.AddMinutes(30), //Expiration
                                                        persistanceFlag, //Persistent
                                                        userData);

            var encTicket = FormsAuthentication.Encrypt(authTicket);
            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
            return user;
        }
コード例 #5
0
 public ManageController()
 {
     _usersContext = new UsersContext();
 }
コード例 #6
0
        public override bool ValidateUser(string username, string password)
        {
            var md5Hash = GetMd5Hash(password);

            using (var usersContext = new UsersContext())
            {
                var requiredUser = usersContext.GetUser(username, md5Hash);
                return requiredUser != null;
            }
        }
コード例 #7
0
 public override MembershipUser GetUser(string username, bool userIsOnline)
 {
     var usersContext = new UsersContext();
     var user = usersContext.GetUser(username);
     if (user != null)
     {
         var memUser = new MembershipUser("CustomMembershipProvider", username, user.UserID, user.UserEmailAddress,
                                                     string.Empty, string.Empty,
                                                     true, false, DateTime.MinValue,
                                                     DateTime.MinValue,
                                                     DateTime.MinValue,
                                                     DateTime.Now, DateTime.Now);
         return memUser;
     }
     return null;
 }
コード例 #8
0
        public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status)
        {
            var args = new ValidatePasswordEventArgs(username, password, true);
            OnValidatingPassword(args);

            if (args.Cancel)
            {
                status = MembershipCreateStatus.InvalidPassword;
                return null;
            }

            if (RequiresUniqueEmail && GetUserNameByEmail(email) != string.Empty)
            {
                status = MembershipCreateStatus.DuplicateEmail;
                return null;
            }

            var user = GetUser(username, true);

            if (user == null)
            {
                var userObj = new User { UserName = username, Password = GetMd5Hash(password), UserEmailAddress = email };

                using (var usersContext = new UsersContext())
                {
                    usersContext.AddUser(userObj);
                }

                status = MembershipCreateStatus.Success;

                return GetUser(username, true);
            }
            status = MembershipCreateStatus.DuplicateUserName;

            return null;
        }