Condividi tramite


ClientFormsAuthenticationMembershipProvider.ValidateUser Metodo

Definizione

Autentica un utente usando le credenziali specificate.

Overload

ValidateUser(String, String)

Autentica un utente usando il nome utente e la password specificati.

ValidateUser(String, String, Boolean)

Autentica un utente usando il nome utente e la password specificati, archiviando facoltativamente un hash della password nella cache dei dati locale.

ValidateUser(String, String, String)

Autentica un utente nell'URI del servizio specificato usando il nome utente e la password specificati.

ValidateUser(String, String)

Autentica un utente usando il nome utente e la password specificati.

public:
 override bool ValidateUser(System::String ^ username, System::String ^ password);
public override bool ValidateUser (string username, string password);
override this.ValidateUser : string * string -> bool
Public Overrides Function ValidateUser (username As String, password As String) As Boolean

Parametri

username
String

Nome dell'utente da autenticare o Empty o null per recuperare le credenziali dall'implementazione IClientFormsAuthenticationCredentialsProvider configurata per l'uso dell'applicazione.

password
String

Password dell'utente da autenticare.

Restituisce

true se l'utente è stato autenticato; in caso contrario, false.

Eccezioni

Il valore della proprietà IsOffline è false e il provider di appartenenze non è in grado di accedere al servizio di autenticazione.

Esempio

Il codice di esempio seguente illustra come usare questo metodo per convalidare l'utente usando un'implementazione IClientFormsAuthenticationCredentialsProvider. In questo esempio è necessario configurare l'applicazione per l'uso di un provider di credenziali.

private bool ValidateUsingCredentialsProvider()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with empty strings in order to display the 
        // login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in", 
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingCredentialsProvider() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with empty strings in order to display the 
        ' login dialog box configured as a credentials provider.
        isAuthorized = authProvider.ValidateUser(String.Empty, String.Empty)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Commenti

È possibile usare i servizi dell'applicazione client per convalidare gli utenti usando l'autenticazione basata su form. Per convalidare gli utenti, in genere si chiamerà il metodo staticMembership.ValidateUser, che chiama internamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser. In alternativa, è possibile chiamare direttamente questo metodo, come illustrato nella sezione Esempio.

L'autenticazione basata su form richiede che l'utente specifichi le proprie credenziali tramite i controlli di accesso forniti dall'applicazione. È possibile recuperare le credenziali e passarle al metodo Membership.ValidateUser. È anche possibile passare stringhe vuote o null per usare un provider di credenziali.

Vedi anche

Si applica a

ValidateUser(String, String, Boolean)

Autentica un utente usando il nome utente e la password specificati, archiviando facoltativamente un hash della password nella cache dei dati locale.

public:
 bool ValidateUser(System::String ^ username, System::String ^ password, bool rememberMe);
public bool ValidateUser (string username, string password, bool rememberMe);
override this.ValidateUser : string * string * bool -> bool
Public Function ValidateUser (username As String, password As String, rememberMe As Boolean) As Boolean

Parametri

username
String

Nome dell'utente da autenticare.

password
String

Password dell'utente da autenticare.

rememberMe
Boolean

true archiviare un hash della password nella cache dei dati locale per l'uso offline e per la riautenticazione automatica alla scadenza del cookie di autenticazione utente; false disabilitare l'accesso offline o richiedere agli utenti di ripetere l'autenticazione alla scadenza del cookie.

Restituisce

true se l'utente è stato autenticato; in caso contrario, false.

Eccezioni

Il valore della proprietà IsOffline è false e il provider di appartenenze non è in grado di accedere al servizio di autenticazione.

Esempio

Il codice di esempio seguente illustra come usare questo metodo per convalidare l'utente usando i controlli di accesso nel codice dell'applicazione. Questo esempio richiede un controllo TextBox denominato usernameTextBox, un controllo TextBox denominato passwordTextBoxe un controllo CheckBox denominato rememberMeCheckBox.

private bool ValidateUsingLoginControls()
{
    bool isAuthorized = false;
    try
    {
        ClientFormsAuthenticationMembershipProvider authProvider =
            System.Web.Security.Membership.Provider as
            ClientFormsAuthenticationMembershipProvider;

        // Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text,
            passwordTextBox.Text, rememberMeCheckBox.Checked);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingLoginControls() As Boolean

    Dim isAuthorized As Boolean = False

    Try

        Dim authProvider As ClientFormsAuthenticationMembershipProvider = _
            CType(System.Web.Security.Membership.Provider,  _
            ClientFormsAuthenticationMembershipProvider)

        ' Call ValidateUser with credentials retrieved from login controls.
        isAuthorized = authProvider.ValidateUser(usernameTextBox.Text, _
            passwordTextBox.Text, rememberMeCheckBox.Checked)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Commenti

È possibile usare i servizi dell'applicazione client per convalidare gli utenti usando l'autenticazione basata su form. Per convalidare gli utenti, in genere si chiamerà il metodo staticMembership.ValidateUser, che chiama internamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String). In alternativa, è possibile chiamare direttamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser. È possibile chiamare questo overload per passare un valore di rememberMe oltre ai valori username e password.

Vedi anche

Si applica a

ValidateUser(String, String, String)

Autentica un utente nell'URI del servizio specificato usando il nome utente e la password specificati.

public:
 static bool ValidateUser(System::String ^ username, System::String ^ password, System::String ^ serviceUri);
public static bool ValidateUser (string username, string password, string serviceUri);
static member ValidateUser : string * string * string -> bool
Public Shared Function ValidateUser (username As String, password As String, serviceUri As String) As Boolean

Parametri

username
String

Nome dell'utente da autenticare.

password
String

Password dell'utente da autenticare.

serviceUri
String

URI del servizio di autenticazione da usare.

Restituisce

true se l'utente è stato autenticato; in caso contrario, false.

Eccezioni

Il valore della proprietà IsOffline è false e il provider di appartenenze non è in grado di accedere al servizio di autenticazione.

Esempio

Il codice di esempio seguente illustra come usare questo metodo per convalidare l'utente tramite un servizio di autenticazione in una posizione specificata. Le credenziali utente vengono recuperate dai controlli di accesso nel codice dell'applicazione. Questo esempio richiede un controllo TextBox denominato usernameTextBox e un controllo TextBox denominato passwordTextBox.

private bool ValidateUsingServiceUri(String serviceUri)
{
    bool isAuthorized = false;
    try
    {
        // Call the static overload of ValidateUser. Specify credentials 
        // retrieved from login controls and the service location.
        isAuthorized = 
            ClientFormsAuthenticationMembershipProvider.ValidateUser(
            usernameTextBox.Text, passwordTextBox.Text, serviceUri);
    }
    catch (System.Net.WebException)
    {
        MessageBox.Show("Unable to access the authentication service.",
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
    }
    if (!isAuthorized)
    {
        MessageBox.Show("Unable to authenticate.", "Not logged in",
            MessageBoxButtons.OK, MessageBoxIcon.Error);
        Application.Exit();
    }
    return isAuthorized;
}
Private Function ValidateUsingServiceUri(ByVal serviceUri As String) As Boolean

    Dim isAuthorized As Boolean = False

    Try

        ' Call the Shared overload of ValidateUser. Specify credentials 
        ' retrieved from login controls and the service location.
        isAuthorized = _
            ClientFormsAuthenticationMembershipProvider.ValidateUser( _
            usernameTextBox.Text, passwordTextBox.Text, serviceUri)

    Catch ex As System.Net.WebException

        MessageBox.Show("Unable to access the authentication service.", _
            "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)

    End Try

    If Not isAuthorized Then

        MessageBox.Show("Unable to authenticate.", "Not logged in", _
            MessageBoxButtons.OK, MessageBoxIcon.Error)
        Application.Exit()

    End If

    Return isAuthorized

End Function

Commenti

È possibile usare i servizi dell'applicazione client per convalidare gli utenti usando l'autenticazione basata su form. Per convalidare gli utenti, in genere si chiamerà il metodo staticMembership.ValidateUser, che chiama internamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser. In alternativa, è possibile chiamare direttamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser. È possibile chiamare questo overload per accedere a un servizio di autenticazione nel percorso specificato dal parametro serviceUri. L'uso di questo overload è un'alternativa all'impostazione della proprietà ServiceUri e alla chiamata dell'overload ValidateUser(String, String).

Vedi anche

Si applica a