Condividi tramite


ClientFormsAuthenticationMembershipProvider Classe

Definizione

Abilita l'autenticazione basata su form con i 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 classe ClientFormsAuthenticationMembershipProvider.

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

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. Un provider di credenziali è un'implementazione IClientFormsAuthenticationCredentialsProvider specificata nel file di configurazione dell'applicazione. In genere si implementerà il metodo IClientFormsAuthenticationCredentialsProvider.GetCredentials per visualizzare una finestra di dialogo di accesso e restituire un oggetto ClientFormsAuthenticationCredentials popolato. L'uso di un provider di credenziali consente di condividere una singola finestra di dialogo di accesso tra più applicazioni.

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

Se l'utente è stato autenticato correttamente, il provider di servizi imposta la proprietà staticThread.CurrentPrincipal su un nuovo oggetto ClientRolePrincipal che contiene un nuovo oggetto ClientFormsIdentity contenente le informazioni utente. Se un ClientRoleProvider è 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 di ClientFormsAuthenticationMembershipProvider corrente tramite la proprietà staticMembership.Provider. È possibile usare il riferimento al provider di appartenenze per chiamare direttamente il metodo ClientFormsAuthenticationMembershipProvider.ValidateUser. Inoltre, è necessario il riferimento del provider di appartenenze per chiamare il metodo Logout, che non è disponibile nella classe di base MembershipProvider.

Non è possibile utilizzare la classe ClientFormsAuthenticationMembershipProvider per creare, eliminare o modificare le informazioni sull'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 utilizzata da questa classe.

Description

Ottiene una breve descrizione descrittiva adatta per la visualizzazione negli strumenti di amministrazione o in altre interfacce utente.

(Ereditato da ProviderBase)
EnablePasswordReset

Questa proprietà non viene utilizzata da questa classe.

EnablePasswordRetrieval

Questa proprietà non viene utilizzata da questa classe.

MaxInvalidPasswordAttempts

Questa proprietà non viene utilizzata da questa classe.

MinRequiredNonAlphanumericCharacters

Questa proprietà non viene utilizzata da questa classe.

MinRequiredPasswordLength

Questa proprietà non viene utilizzata 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 utilizzata da questa classe.

PasswordFormat

Questa proprietà non viene utilizzata da questa classe.

PasswordStrengthRegularExpression

Questa proprietà non viene utilizzata da questa classe.

RequiresQuestionAndAnswer

Questa proprietà non viene utilizzata da questa classe.

RequiresUniqueEmail

Questa proprietà non viene utilizzata 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 usando la modalità di compatibilità 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 il 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 del Objectcorrente.

(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 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.

Eventi

UserValidated

Si verifica quando l'utente viene 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