Exemplo n.º 1
0
        private WebUser GetUser(Func<WebUser, bool> query)
        {
            WebUser user;

            using (WebUsersController swuc = new WebUsersController())
            {
                user = swuc.GetWhere(query).FirstOrDefault();
            }

            if (user == null)
            {
                return null;
                //throw new ProviderException("The requested user could not be found.");
            }

            return user;
        }
Exemplo n.º 2
0
        public static WebUser GetCurrentWebUser()
        {
            int userID;

           
            if (!HttpContext.Current.User.Identity.IsAuthenticated || !int.TryParse(HttpContext.Current.User.Identity.Name, out userID))
            {
                //throw new Exception("User not authenticated");
                return null;
            }
             

            WebUser user = HttpContext.Current.Session["CurrentWebUser"] as WebUser;

            if (user != null && user.UserID == userID)
            {
                return user;
            }
            else
            {
                using (WebUsersController wuc = new WebUsersController())
                {
                    HttpContext.Current.Session["CurrentWebUser"] = wuc.GetWhere(i => i.UserID == userID).First();
                    return HttpContext.Current.Session["CurrentWebUser"] as WebUser;
                }
            }
        }
Exemplo n.º 3
0
 public override string GetUserNameByEmail(string email)
 {
     using (WebUsersController wuc = new WebUsersController())
     {
         WebUser user = wuc.GetWhere(u => u.Email == email).FirstOrDefault();
         return (user == null) ? "" : user.Email;
     }
 }
Exemplo n.º 4
0
        private MembershipUser GetUser(Func<WebUser, bool> search, bool userIsOnline)
        {
            using (WebUsersController swuc = new WebUsersController())
            {
                MembershipUser membershipUser = null;
                WebUser user;
                try
                {
                    user = swuc.GetWhere(search).FirstOrDefault();
                }
                catch (ProviderException)
                {
                    user = null;
                }

                if (user != null)
                {
                    membershipUser = GetMembershipUserFromPersistedEntity(user);

                    if (userIsOnline)
                    {
                        // modify online
                        //user.LastActivityDate = DateTime.Now;
                        //context.SaveChanges();
                    }
                }

                return membershipUser;
            }
        }
Exemplo n.º 5
0
        public override MembershipUserCollection FindUsersByName(string usernameToMatch, int pageIndex, int pageSize, out int totalRecords)
        {
            using (WebUsersController wuc = new WebUsersController())
            {
                var webUsers = wuc.GetWhere(i => i.Email == usernameToMatch).Select(i => GetMembershipUserFromPersistedEntity(i));

                MembershipUserCollection collection = new MembershipUserCollection();
                foreach (MembershipUser user in webUsers)
                {
                    collection.Add(user);
                }
                totalRecords = collection.Count;
                return collection;
            }
        }
Exemplo n.º 6
0
        public override bool DeleteUser(string username, bool deleteAllRelatedData)
        {
            try
            {
                using (WebUsersController wuc = new WebUsersController())
                {
                    WebUser user;
                    try
                    {
                        user = wuc.GetWhere(u => u.Email == username).FirstOrDefault();
                        if (user == null)
                        {
                            return false;
                        }
                    }
                    catch (ProviderException)
                    {
                        return false;
                    }

                    wuc.Delete(user.UserID);

                    // Need to delete all user related data (Mark as historical)

                    return true;
                }
            }
            catch
            {
                return false;
            }
        }
Exemplo n.º 7
0
        public override string ResetPassword(string username, string answer)
        {
            if (!EnablePasswordReset)
            {
                throw new NotSupportedException("Password reset is not enabled.");
            }

            if (answer == null && RequiresQuestionAndAnswer)
            {
                throw new ProviderException("Password answer required for password reset.");
            }

            string newPassword = Membership.GeneratePassword(NEWPASSWORDLENGTH, MinRequiredNonAlphanumericCharacters);

            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, true);
            OnValidatingPassword(args);

            if (args.Cancel)
            {
                if (args.FailureInformation != null)
                {
                    throw args.FailureInformation;
                }

                throw new MembershipPasswordException("Reset password canceled due to password validation failure.");
            }

            using (WebUsersController swuc = new WebUsersController())
            {
                WebUser user = swuc.GetWhere(u => u.Email == username).FirstOrDefault();

                try
                {
                    user.Password = EncodePassword(newPassword);
                    swuc.Update(user);

                    return newPassword;
                }
                catch(Exception ex)
                {
                    throw new MembershipPasswordException("User not found, or user is locked out. Password not Reset.");
                }
            }
        }
Exemplo n.º 8
0
        public override bool ChangePassword(string username, string oldPassword, string newPassword)
        {
            // Check if user is authenticated
            if (!ValidateUser(username, oldPassword))
            {
                return false;
            }

            // Notify that password is going to change
            ValidatePasswordEventArgs args = new ValidatePasswordEventArgs(username, newPassword, true);
            OnValidatingPassword(args);

            if (args.Cancel)
            {
                if (args.FailureInformation != null)
                {
                    throw args.FailureInformation;
                }

                throw new MembershipPasswordException("Change password canceled due to new password validation failure.");
            }

            using (WebUsersController swuc = new WebUsersController())
            {
                WebUser user = swuc.GetWhere(u => u.Email == username).FirstOrDefault();

                user.Password = EncodePassword(newPassword);

                try
                {
                    swuc.Update(user);
                    return true;
                }
                catch(Exception ex)
                {
                    return false;
                }
            }
        }
Exemplo n.º 9
0
        public override string GetPassword(string username, string answer)
        {
            if (!EnablePasswordRetrieval)
            {
                throw new ProviderException("Password Retrieval Not Enabled.");
            }

            if (PasswordFormat == MembershipPasswordFormat.Hashed)
            {
                throw new ProviderException("Cannot retrieve Hashed passwords.");
            }

            string password = string.Empty;
            using (WebUsersController wuc = new WebUsersController())
            {
                WebUser user = wuc.GetWhere(swu => swu.Email.Equals(username)).FirstOrDefault();

                if (PasswordFormat == MembershipPasswordFormat.Encrypted)
                {
                    password = UnEncodePassword(user.Password);
                }
            }

            return password;
        }