VGSecurityManagerAuthenticationState Property
|
Namespace:
Novalys.VisualGuard.Security
Assembly:
Novalys.VisualGuard.Security (in Novalys.VisualGuard.Security.dll) Version: 2019.1.831.19 (2019.1.0831.19)
Syntax public static VGAuthenticationState AuthenticationState { get; }
Public Shared ReadOnly Property AuthenticationState As VGAuthenticationState
Get
Property Value
Type:
VGAuthenticationStateRemarks You can use this value to test if the last authentication has failed or not and to check reason of the failure.
Examples The following example displays how to test the state of the authentication
Reauthenticate:
VGAuthenticationState state = VGSecurityManager.Authenticate(user.Text, password.Text);
if (state.IsFailed)
{
if (state.IsCanceled) return;
if (state.IsCredentialInvalid)
{
if (state.IsLastBadLogin)
{
MessageBox.Show("Invalid user or password. The next bad login will lock your account.");
}
else
{
MessageBox.Show("Invalid user or password");
}
}
else if (state.IsUserNotAuthorized)
{
MessageBox.Show("user not authorized to log on the application");
}
else if (state.IsUserAccountExpired)
{
MessageBox.Show("your account is no more valid. Contact your administrator");
}
else if (state.IsUserAccountNotYetAvailable)
{
MessageBox.Show("your account is not yet available.");
}
else if (state.IsUserAccountLockedOut)
{
MessageBox.Show("your account is locked out. Contact your administrator.");
}
else if (state.MustChangePasswordAtNextLogon)
{
if (!state.IsPasswordSecure)
{
if (state.PasswordExpired)
{
MessageBox.Show("Your password has expired. You are required to change it.");
}
else
{
MessageBox.Show("Your password is not secure enough. You are required to change it.");
}
}
else
{
MessageBox.Show("You are required to change your password at first logon.");
}
VGChangePasswordForm form = new VGChangePasswordForm(runtime);
form.UserName = currentUsername;
form.OldPassword = currentPassword;
if (form.ShowDialog(this) == DialogResult.OK)
{
currentPassword = form.NewPassword;
goto Reauthenticate;
}
}
}
else
{
this.DialogResult = DialogResult.OK;
if (!state.IsPasswordSecured)
{
if (MessageBox.Show("Your password is not secure enough or has expired. " + Environment.NewLine + "Do you want to change it?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) = DialogResult.Yes)
{
VGChangePasswordForm form = new VGChangePasswordForm();
form.ShowDialog();
}
}
}
Reauthenticate:
Dim state As VGAuthenticationState = VGSecurityManager.Authenticate(userTextBox.Text, passwordTextBox.Text)
If state.IsFailed Then
Me.DialogResult = DialogResult.None
If state.IsCanceled Then Return
If state.IsCredentialInvalid Then
If state.IsLastBadLogin Then
MessageBox.Show("Invalid user or password. The next bad login will lock your account.")
Else
MessageBox.Show("Invalid user or password")
End If
ElseIf state.IsUserNotAuthorized Then
MessageBox.Show("user not authorized to log on to the application")
ElseIf state.IsUserAccountExpired Then
MessageBox.Show("your account is no more valid. Contact your administrator")
ElseIf state.IsUserAccountNotYetAvailable Then
MessageBox.Show("your account is not yet available.")
ElseIf state.MustChangePasswordAtNextLogon Then
If Not state.IsPasswordSecure Then
If state.IsPasswordExpired Then
MessageBox.Show("Your password has expired. You are required to change it.")
Else
MessageBox.Show("Your password is not secure enough. You are required to change it.")
End If
Else
MessageBox.Show("You are required to change your password at first logon.")
End If
Dim form As VGChangePasswordForm = New VGChangePasswordForm
form.UserName = userTextBox.Text
form.OldPassword = passwordTextBox.Text
If form.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
passwordTextBox.Text = form.NewPassword
GoTo Reauthenticate
End If
ElseIf state.IsUserAccountLockedOut Then
MessageBox.Show("your account is locked out. Contact your administrator.")
End If
Else
Me.DialogResult = DialogResult.OK
If Not state.IsPasswordSecured Then
If MessageBox.Show("Your password is not secure enough. " + _
Environment.NewLine + "Do you want to change it?", "", _
MessageBoxButtons.YesNo, MessageBoxIcon.Question, _
MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly) = DialogResult.Yes Then
Dim form As VGChangePasswordForm = New VGChangePasswordForm
form.ShowDialog()
End If
End If
End If
See Also