Partager via


ClientFormsIdentity Classe

Définition

Représente une identité utilisateur authentifiée pour les services d’application cliente à l’aide de 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 l’état hors connexion pour qu’il corresponde à la valeur de la case à cocher. Si l’utilisateur définit l’application à l’état en ligne, le gestionnaire d’événements tente de revalider l’utilisateur en appelant la méthode RevalidateUser. Toutefois, si le serveur d’authentification n’est pas disponible, le gestionnaire d’événements retourne l’application à l’état hors connexion.

Note

La méthode RevalidateUser n’est que pratique. Étant donné qu’elle n’a pas de valeur de retour, elle ne peut pas indiquer si la revalidation a échoué. La revalidation peut échouer, par exemple, si les informations d’identification de l’utilisateur ont changé sur le serveur. Dans ce cas, vous pouvez 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 client.

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 client et l’authentification par formulaire, vous pouvez authentifier un utilisateur en appelant la méthode staticMembership.ValidateUser. Après l’authentification, vous pouvez récupérer une référence à l’instance de ClientFormsIdentity actuelle via la propriété Identity du IPrincipal récupérée via la propriété staticThread.CurrentPrincipal. Pour plus d’informations, consultez services d’application cliente .

Vous accédez généralement à un objet ClientFormsIdentity en tant que référence IIdentity pour éviter une dépendance directe sur cette classe. Vous pouvez déterminer si un utilisateur est authentifié en vérifiant la propriété IIdentity.IsAuthenticated 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 confirmer que la valeur de propriété IIdentity.AuthenticationType est « ClientForms ».

Vous devez utiliser une référence ClientFormsIdentity explicite pour appeler la méthode RevalidateUser, 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 récupérés à partir 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’appartenance utilisé pour authentifier l’utilisateur.

Méthodes

Dispose()

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

Dispose(Boolean)

Libère les ressources non managées utilisées par le 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()

Sert de fonction de hachage par défaut.

(Hérité de Object)
GetType()

Obtient la Type de l’instance actuelle.

(Hérité de Object)
MemberwiseClone()

Crée une copie superficielle du Objectactuel.

(Hérité de Object)
RevalidateUser()

Authentifie silencieusement l’utilisateur à l’aide d’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