ClientFormsIdentity Klasa

Definicja

Reprezentuje tożsamość użytkownika uwierzytelnianą dla usług aplikacji klienckich przy użyciu uwierzytelniania formularzy.

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
Dziedziczenie
ClientFormsIdentity
Implementuje

Przykłady

Poniższy przykładowy kod pokazuje, jak używać tej klasy do dyskretnego reaktywowania użytkownika, gdy aplikacja opuszcza stan offline. W tym przykładzie CheckedChanged program obsługi zdarzeń aktualizuje stan offline, aby był zgodny z wartością pola wyboru. Jeśli użytkownik ustawia aplikację na stan online, program obsługi zdarzeń próbuje ponownie odnowić użytkownika, wywołując metodę RevalidateUser . Jeśli jednak serwer uwierzytelniania jest niedostępny, program obsługi zdarzeń zwraca aplikację do stanu offline.

Uwaga

Metoda jest przeznaczona RevalidateUser tylko dla wygody. Ponieważ nie ma wartości zwracanej, nie może wskazywać, czy zmiana nie powiodła się. Na przykład zmiana poświadczeń użytkownika na serwerze może zakończyć się niepowodzeniem. W takim przypadku możesz dołączyć kod, który jawnie weryfikuje użytkowników po niepomyślnie wywołaniu usługi. Aby uzyskać więcej informacji, zobacz sekcję Uzyskiwanie dostępu do ustawień sieci Web w przewodniku: korzystanie z usług aplikacji klienckich.

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

Uwagi

Funkcja usług aplikacji klienckich używa tej klasy do reprezentowania uwierzytelnionego użytkownika. Podczas konfigurowania aplikacji do korzystania z usług aplikacji klienckich i uwierzytelniania formularzy można uwierzytelnić użytkownika, wywołując metodę staticMembership.ValidateUser . Po uwierzytelnieniu można pobrać odwołanie do bieżącego ClientFormsIdentity wystąpienia za pośrednictwem Identity właściwości pobranej IPrincipalstaticThread.CurrentPrincipal za pośrednictwem właściwości . Aby uzyskać więcej informacji, zobacz Usługi aplikacji klienckich.

Zazwyczaj uzyskujesz dostęp do ClientFormsIdentity obiektu jako IIdentity odwołania, aby uniknąć bezpośredniej zależności od tej klasy. Możesz określić, czy użytkownik jest uwierzytelniony, sprawdzając IIdentity.IsAuthenticated właściwość tożsamości. Jednak użytkownik może zostać uwierzytelniony w systemie Windows, ale nie w przypadku usług aplikacji klienckich. Aby określić, czy użytkownik jest uwierzytelniony dla usług aplikacji klienckich, należy również potwierdzić, że IIdentity.AuthenticationType wartość właściwości to "ClientForms".

Należy użyć jawnego ClientFormsIdentity odwołania, aby wywołać metodę RevalidateUser , która nie jest zdefiniowana IIdentity przez interfejs.

Konstruktory

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

Inicjuje nowe wystąpienie klasy ClientFormsIdentity.

Właściwości

AuthenticationCookies

Pobiera kolekcję plików cookie pobranych z usługi uwierzytelniania.

AuthenticationType

Pobiera typ uwierzytelniania używanego do uwierzytelniania użytkownika.

IsAuthenticated

Pobiera wartość wskazującą, czy użytkownik został uwierzytelniony.

Name

Pobiera nazwę użytkownika.

Provider

Pobiera dostawcę członkostwa używanego do uwierzytelniania użytkownika.

Metody

Dispose()

Zwalnia wszelkie zasoby używane przez element ClientFormsIdentity.

Dispose(Boolean)

Zwalnia zasoby niezarządzane używane przez element ClientFormsIdentity i opcjonalnie zwalnia zasoby zarządzane.

Equals(Object)

Określa, czy dany obiekt jest taki sam, jak bieżący obiekt.

(Odziedziczone po Object)
GetHashCode()

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()

Type Pobiera bieżące wystąpienie.

(Odziedziczone po Object)
MemberwiseClone()

Tworzy płytkią kopię bieżącego Objectelementu .

(Odziedziczone po Object)
RevalidateUser()

Uwierzytelnia użytkownika w trybie dyskretnym przy użyciu buforowanych poświadczeń.

ToString()

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)

Dotyczy

Zobacz też