예제 #1
0
        void OnResetPassword(object sender, EventArgs e)
        {
            Debug.Assert(EnablePasswordReset);

            if (RequiresQuestionAndAnswer)
            {
                ResetWithQuestionDialog dialog = new ResetWithQuestionDialog(ServiceAddress, ApplicationName, UserName);
                dialog.ShowDialog();
            }
            else
            {
                IPasswordManager passwordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(ServiceAddress);
                string           newPassword     = null;
                try
                {
                    newPassword = passwordManager.ResetPassword(ApplicationName, UserName);
                    Clipboard.SetText(newPassword);
                }
                catch (SoapException exception)
                {
                    if (exception.Message.Contains("The user account has been locked out"))
                    {
                        MessageBox.Show("The user account has been locked out", "Credentials Manager", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        return;
                    }
                    throw;
                }
                MessageBox.Show("Generated password: "******" " + Environment.NewLine + "The password is avaiable on the clipboard as well.", "Credentials Manager", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
예제 #2
0
        void RefreshPasswordsPage()
        {
            if (ApplicationName == String.Empty)
            {
                m_PasswordReset.Text                  = "-";
                m_PasswordRetrieval.Text              = "-";
                m_MaxInvalidAttempts.Text             = "-";
                m_MinNonAlphanumeric.Text             = "-";
                m_MinLength.Text                      = "-";
                m_AttemptWindow.Text                  = "-";
                m_PasswordRegularExpression.Text      = "-";
                m_RequiresQuestionAndAnswerLabel.Text = "-";
                m_LengthTextBox.Text                  = String.Empty;
                m_NonAlphanumericTextBox.Text         = String.Empty;
                m_GeneratePasswordMenuItem.Enabled    = m_GeneratePassword.Enabled = false;
                return;
            }
            m_GeneratePasswordMenuItem.Enabled = m_GeneratePassword.Enabled = true;

            IPasswordManager passwordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(ServiceAddress);

            if (passwordManager.EnablePasswordReset(ApplicationName))
            {
                EnablePasswordReset  = true;
                m_PasswordReset.Text = "Yes";
            }
            else
            {
                EnablePasswordReset  = false;
                m_PasswordReset.Text = "No";
            }
            if (passwordManager.EnablePasswordRetrieval(ApplicationName))
            {
                EnablePasswordRetrieval  = true;
                m_PasswordRetrieval.Text = "Yes";
            }
            else
            {
                EnablePasswordRetrieval  = false;
                m_PasswordRetrieval.Text = "No";
            }
            m_MaxInvalidAttempts.Text        = passwordManager.GetMaxInvalidPasswordAttempts(ApplicationName).ToString();
            m_MinNonAlphanumeric.Text        = passwordManager.GetMinRequiredNonAlphanumericCharacters(ApplicationName).ToString();
            m_MinLength.Text                 = passwordManager.GetMinRequiredPasswordLength(ApplicationName).ToString();
            m_AttemptWindow.Text             = passwordManager.GetPasswordAttemptWindow(ApplicationName).ToString();
            m_PasswordRegularExpression.Text = passwordManager.GetPasswordStrengthRegularExpression(ApplicationName);
            if (passwordManager.RequiresQuestionAndAnswer(ApplicationName))
            {
                RequiresQuestionAndAnswer             = true;
                m_RequiresQuestionAndAnswerLabel.Text = "Yes";
            }
            else
            {
                RequiresQuestionAndAnswer             = false;
                m_RequiresQuestionAndAnswerLabel.Text = "No";
            }

            m_LengthTextBox.Text          = m_MinLength.Text;
            m_NonAlphanumericTextBox.Text = m_MinNonAlphanumeric.Text;
        }
        public ResetWithQuestionDialog(string url, string application, string user)
        {
            InitializeComponent();

            m_Url                  = url;
            m_Application          = application;
            m_UserNameTextBox.Text = user;

            m_PasswordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(m_Url);
            m_PasswordQuestionTextBox.Text = m_PasswordManager.GetPasswordQuestion(application, user);
        }
예제 #4
0
        void OnGeneratePassword(object sender, EventArgs e)
        {
            int length          = Convert.ToInt32(m_LengthTextBox.Text);
            int nonAlphanumeric = Convert.ToInt32(m_NonAlphanumericTextBox.Text);

            IPasswordManager passwordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(ServiceAddress);
            string           password        = passwordManager.GeneratePassword(ApplicationName, length, nonAlphanumeric);

            Clipboard.SetText(password);

            MessageBox.Show("Generated password: "******" " + Environment.NewLine + "The password is avaiable on the clipboard as well.", "Credentials Manager", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }
        public ChangePasswordDialog(string url, string application, string user)
        {
            InitializeComponent();

            m_Url                  = url;
            m_Application          = application;
            m_UserNameTextBox.Text = user;

            m_PasswordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(m_Url);
            m_PasswordQuestionTextBox.Text = m_PasswordManager.GetPasswordQuestion(application, user);

            m_PasswordAnswerTextBox.Enabled = m_PasswordManager.RequiresQuestionAndAnswer(application);
        }
        void OnCheckedChanged(object sender, EventArgs e)
        {
            if (m_GeneratePasswordCheckBox.Checked)
            {
                IPasswordManager passwordManager = UserManagerProviderFactory.CreatePasswordManager(); // new AspNetSqlProviderService(m_Url);
                int    length          = passwordManager.GetMinRequiredPasswordLength(m_Application);
                int    nonAlphaNumeric = passwordManager.GetMinRequiredNonAlphanumericCharacters(m_Application);
                string password        = passwordManager.GeneratePassword(m_Application, length, nonAlphaNumeric);
                m_PasswordTextbox.Text          = password;
                m_ConfirmedPasswordTextBox.Text = password;

                m_PasswordTextbox.PasswordChar          = '\0';
                m_ConfirmedPasswordTextBox.PasswordChar = '\0';
            }
            else
            {
                m_PasswordTextbox.PasswordChar          = '*';
                m_ConfirmedPasswordTextBox.PasswordChar = '*';
            }
        }