ClientFormsAuthenticationMembershipProvider Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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à
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 static
Membership.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à static
Thread.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à static
Membership.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) |