Gets a VGAuthenticationState object representing the last authentication state.
Namespace: Novalys.VisualGuard.SecurityAssembly: Novalys.VisualGuard.Security (in Novalys.VisualGuard.Security.dll) Version: 2016.0.105.16 (2016.0.105.16)
Syntax
C# |
---|
public static VGAuthenticationState AuthenticationState { get; } |
Visual Basic |
---|
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
C# | Copy |
---|---|
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) { // Use the Visual guard form to change the password // You can replace it by your own form VGChangePasswordForm form = new VGChangePasswordForm(); form.ShowDialog(); } } } |
Visual Basic | Copy |
---|---|
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 ' Use the Visual guard form to change the password ' You can replace it by your own form Dim form As VGChangePasswordForm = New VGChangePasswordForm form.ShowDialog() End If End If End If |