ClientFormsIdentity Classe

Définition

Représente une identité de l'utilisateur authentifiée pour les services d'application cliente en utilisant l'authentification par formulaire.

public ref class ClientFormsIdentity : IDisposable, System::Security::Principal::IIdentity
public class ClientFormsIdentity : IDisposable, System.Security.Principal.IIdentity
type ClientFormsIdentity = class
    interface IIdentity
    interface IDisposable
Public Class ClientFormsIdentity
Implements IDisposable, IIdentity
Héritage
ClientFormsIdentity
Implémente

Exemples

L’exemple de code suivant montre comment utiliser cette classe pour revalider silencieusement un utilisateur lorsque l’application quitte l’état hors connexion. Dans cet exemple, un gestionnaire d’événements CheckedChanged met à jour le status hors connexion pour qu’il corresponde à la valeur de la zone de case activée. Si l’utilisateur définit l’application à l’état en ligne, le gestionnaire d’événements tente de revalider l’utilisateur en appelant la RevalidateUser méthode . Toutefois, si le serveur d’authentification n’est pas disponible, le gestionnaire d’événements retourne l’application à l’état hors connexion.

Notes

La méthode RevalidateUser est fournie pour des raisons pratiques uniquement. Étant donné qu'elle n'a pas de valeur de retour, elle ne peut pas indiquer si la revalidation a échoué. La revalidation peut, par exemple, échouer si les informations d'identification de l'utilisateur ont été modifiées sur le serveur. Dans ce cas, vous souhaitez peut-être inclure du code qui valide explicitement les utilisateurs après l'échec d'un appel de service. Pour plus d’informations, consultez la section Accès aux paramètres web dans Procédure pas à pas : utilisation des services d’application cliente.

private void workOfflineCheckBox_CheckedChanged(
    object sender, EventArgs e)
{
    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked;
    if (!ConnectivityStatus.IsOffline)
    {
        try
        {
            // Silently re-validate the user.
            ((ClientFormsIdentity)
                System.Threading.Thread.CurrentPrincipal.Identity)
                .RevalidateUser();

            // If any settings have been changed locally, save the new
            // new values to the Web settings service.
            SaveSettings();

            // If any settings have not been changed locally, check 
            // the Web settings service for updates. 
            Properties.Settings.Default.Reload();
        }
        catch (System.Net.WebException)
        {
            MessageBox.Show(
                "Unable to access the authentication service. " +
                Environment.NewLine + "Staying in offline mode.",
                "Warning", MessageBoxButtons.OK, 
                MessageBoxIcon.Warning);
            workOfflineCheckBox.Checked = true;
        }
    }
}
Private Sub workOfflineCheckBox_CheckedChanged( _
    ByVal sender As Object, ByVal e As EventArgs) _
    Handles workOfflineCheckBox.CheckedChanged

    ConnectivityStatus.IsOffline = workOfflineCheckBox.Checked
    If Not ConnectivityStatus.IsOffline Then

        Try

            ' Silently re-validate the user.
            CType(System.Threading.Thread.CurrentPrincipal.Identity,  _
                ClientFormsIdentity).RevalidateUser()

            ' If any settings have been changed locally, save the new
            ' new values to the Web settings service.
            SaveSettings()

            ' If any settings have not been changed locally, check 
            ' the Web settings service for updates. 
            My.Settings.Reload()

        Catch ex As System.Net.WebException

            MessageBox.Show( _
                "Unable to access the authentication service. " & _
                Environment.NewLine + "Staying in offline mode.", _
                "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning)
            workOfflineCheckBox.Checked = True

        End Try

    End If
End Sub

Remarques

La fonctionnalité des services d’application cliente utilise cette classe pour représenter un utilisateur authentifié. Lorsque vous configurez votre application pour utiliser les services d’application cliente et l’authentification par formulaire, vous pouvez authentifier un utilisateur en appelant la staticMembership.ValidateUser méthode . Après l’authentification, vous pouvez récupérer une référence à la instance actuelle ClientFormsIdentity via la Identity propriété du IPrincipal récupéré via la staticThread.CurrentPrincipal propriété . Pour plus d’informations, consultez Services d’application cliente.

Vous accédez généralement à un ClientFormsIdentity objet en tant que IIdentity référence pour éviter une dépendance directe sur cette classe. Vous pouvez déterminer si un utilisateur est authentifié en vérifiant la IIdentity.IsAuthenticated propriété de l’identité. Toutefois, l’utilisateur peut être authentifié pour Windows, mais pas pour les services d’application cliente. Pour déterminer si l’utilisateur est authentifié pour les services d’application cliente, vous devez également vérifier que la valeur de la IIdentity.AuthenticationType propriété est « ClientForms ».

Vous devez utiliser une référence explicite ClientFormsIdentity pour appeler la RevalidateUser méthode, qui n’est pas définie par l’interface IIdentity .

Constructeurs

ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer)

Initialise une nouvelle instance de la classe ClientFormsIdentity.

Propriétés

AuthenticationCookies

Obtient une collection des cookies extraite du service d'authentification.

AuthenticationType

Obtient le type d'authentification utilisé pour authentifier l'utilisateur.

IsAuthenticated

Obtient une valeur indiquant si l'utilisateur a été authentifié.

Name

Obtient le nom de l'utilisateur.

Provider

Obtient le fournisseur d'appartenances qui est utilisé pour authentifier l'utilisateur.

Méthodes

Dispose()

Libère toutes les ressources utilisées par ClientFormsIdentity.

Dispose(Boolean)

Libère les ressources non managées utilisées par ClientFormsIdentity et libère éventuellement les ressources managées.

Equals(Object)

Détermine si l'objet spécifié est égal à l'objet actuel.

(Hérité de Object)
GetHashCode()

Fait office de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient le Type de l'instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Object actuel.

(Hérité de Object)
RevalidateUser()

Authentifie silencieusement l'utilisateur en utilisant des informations d'identification mises en cache.

ToString()

Retourne une chaîne qui représente l'objet actuel.

(Hérité de Object)

S’applique à

Voir aussi