ClientFormsAuthenticationMembershipProvider Classe

Definizione

Consente l'autenticazione basata su form con servizi dell'applicazione client.

public ref class ClientFormsAuthenticationMembershipProvider : System::Web::Security::MembershipProvider
public class ClientFormsAuthenticationMembershipProvider : System.Web.Security.MembershipProvider
type ClientFormsAuthenticationMembershipProvider = class
    inherit MembershipProvider
Public Class ClientFormsAuthenticationMembershipProvider
Inherits MembershipProvider
Ereditarietà
ClientFormsAuthenticationMembershipProvider

Esempio

Il codice di esempio seguente illustra come usare questo metodo per convalidare l'utente usando un'implementazione IClientFormsAuthenticationCredentialsProvider .

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 abilitare l'autenticazione basata su form, configurare l'applicazione per l'uso della ClientFormsAuthenticationMembershipProvider classe .

Dopo la configurazione, è possibile convalidare gli utenti chiamando il staticMembership.ValidateUser metodo , che chiama internamente il ClientFormsAuthenticationMembershipProvider.ValidateUser(String, String) metodo .

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 Membership.ValidateUser metodo . È anche possibile passare stringhe vuote o null usare un provider di credenziali. Un provider di credenziali è un'implementazione IClientFormsAuthenticationCredentialsProvider specificata nel file di configurazione dell'applicazione. In genere si implementerà il IClientFormsAuthenticationCredentialsProvider.GetCredentials metodo per visualizzare una finestra di dialogo di accesso e restituire un oggetto popolato ClientFormsAuthenticationCredentials . Un provider di credenziali consente di condividere un'unica finestra di dialogo di accesso tra più applicazioni.

Il ClientFormsAuthenticationMembershipProvider.ValidateUser metodo autentica gli utenti tramite il servizio di accesso indicato dalla ServiceUri proprietà . Il valore della ServiceUri proprietà viene in genere recuperato dal file di configurazione dell'applicazione insieme ad altri valori di configurazione.

Se l'utente viene autenticato correttamente, il provider di servizi imposta la staticThread.CurrentPrincipal proprietà su un nuovo oggetto che contiene un nuovo ClientRolePrincipalClientFormsIdentity oggetto contenente le informazioni sull'utente. Se un ClientRoleProvider oggetto è configurato per l'applicazione, è possibile usare l'oggetto ClientRolePrincipal per recuperare le informazioni sul ruolo utente dal servizio ruoli.

È possibile recuperare un riferimento all'istanza corrente ClientFormsAuthenticationMembershipProvider tramite la staticMembership.Provider proprietà . È possibile usare il riferimento al provider di appartenenze per chiamare direttamente il ClientFormsAuthenticationMembershipProvider.ValidateUser metodo . Inoltre, sarà necessario il riferimento del provider di appartenenze per chiamare il Logout metodo , che non è disponibile nella MembershipProvider classe di base.

Non è possibile utilizzare la ClientFormsAuthenticationMembershipProvider classe per creare, eliminare o modificare le informazioni di appartenenza. Per creare, eliminare o modificare gli utenti, è necessario modificare la configurazione del servizio di accesso nel server.

Costruttori

ClientFormsAuthenticationMembershipProvider()

Inizializza una nuova istanza della classe ClientFormsAuthenticationMembershipProvider.

Proprietà

ApplicationName

Questa proprietà non viene usata da questa classe.

Description

Ottiene una breve descrizione di facile comprensione che è possibile visualizzare in strumenti di amministrazione o in altre interfacce utente (UI, User Interface).

(Ereditato da ProviderBase)
EnablePasswordReset

Questa proprietà non viene usata da questa classe.

EnablePasswordRetrieval

Questa proprietà non viene usata da questa classe.

MaxInvalidPasswordAttempts

Questa proprietà non viene usata da questa classe.

MinRequiredNonAlphanumericCharacters

Questa proprietà non viene usata da questa classe.

MinRequiredPasswordLength

Questa proprietà non viene usata da questa classe.

Name

Ottiene il nome descrittivo utilizzato per fare riferimento al provider durante la configurazione.

(Ereditato da ProviderBase)
PasswordAttemptWindow

Questa proprietà non viene usata da questa classe.

PasswordFormat

Questa proprietà non viene usata da questa classe.

PasswordStrengthRegularExpression

Questa proprietà non viene usata da questa classe.

RequiresQuestionAndAnswer

Questa proprietà non viene usata da questa classe.

RequiresUniqueEmail

Questa proprietà non viene usata da questa classe.

ServiceUri

Ottiene o imposta l'URI del servizio di autenticazione.

Metodi

ChangePassword(String, String, String)

Questo metodo non viene utilizzato da questa classe.

ChangePasswordQuestionAndAnswer(String, String, String, String)

Questo metodo non viene utilizzato da questa classe.

CreateUser(String, String, String, String, String, Boolean, Object, MembershipCreateStatus)

Questo metodo non viene utilizzato da questa classe.

DecryptPassword(Byte[])

Decrittografa una password crittografata.

(Ereditato da MembershipProvider)
DeleteUser(String, Boolean)

Questo metodo non viene utilizzato da questa classe.

EncryptPassword(Byte[])

Crittografa una password.

(Ereditato da MembershipProvider)
EncryptPassword(Byte[], MembershipPasswordCompatibilityMode)

Crittografa la password specificata utilizzando la modalità di compatibilità della password specificata.

(Ereditato da MembershipProvider)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
FindUsersByEmail(String, Int32, Int32, Int32)

Questo metodo non viene utilizzato da questa classe.

FindUsersByName(String, Int32, Int32, Int32)

Questo metodo non viene utilizzato da questa classe.

GetAllUsers(Int32, Int32, Int32)

Questo metodo non viene utilizzato da questa classe.

GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetNumberOfUsersOnline()

Questo metodo non viene utilizzato da questa classe.

GetPassword(String, String)

Questo metodo non viene utilizzato da questa classe.

GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
GetUser(Object, Boolean)

Questo metodo non viene utilizzato da questa classe.

GetUser(String, Boolean)

Questo metodo non viene utilizzato da questa classe.

GetUserNameByEmail(String)

Questo metodo non viene utilizzato da questa classe.

Initialize(String, NameValueCollection)

Inizializza il provider.

Logout()

Disconnette l'utente.

MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnValidatingPassword(ValidatePasswordEventArgs)

Genera l'evento ValidatingPassword se è stato definito un gestore eventi.

(Ereditato da MembershipProvider)
ResetPassword(String, String)

Questo metodo non viene utilizzato da questa classe.

ToString()

Restituisce una stringa che rappresenta l'oggetto corrente.

(Ereditato da Object)
UnlockUser(String)

Questo metodo non viene utilizzato da questa classe.

UpdateUser(MembershipUser)

Questo metodo non viene utilizzato da questa classe.

ValidateUser(String, String)

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

ValidateUser(String, String, Boolean)

Autentica un utente utilizzando il nome utente e la password specificati, memorizzando facoltativamente un hash della password nella cache dati locale.

ValidateUser(String, String, String)

Autentica un utente all'URI del servizio specificato utilizzando il nome utente e la password specificati.

Eventi

UserValidated

Si verifica quando l'utente è convalidato.

ValidatingPassword

Si verifica quando viene creato un utente, viene modificata una password o viene reimpostata una password.

(Ereditato da MembershipProvider)

Si applica a

Vedi anche