Sdílet prostřednictvím


ClientFormsIdentity Třída

Definice

Představuje identitu uživatele ověřenou pro služby klientských aplikací pomocí ověřování pomocí formulářů.

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
Dědičnost
ClientFormsIdentity
Implementuje

Příklady

Následující příklad kódu ukazuje, jak použít tuto třídu k tichému obnovení uživatele, když aplikace opustí stav offline. V tomto příkladu obslužná rutina události CheckedChanged aktualizuje stav offline tak, aby odpovídal hodnotě zaškrtávacího políčka. Pokud uživatel nastaví aplikaci do online stavu, obslužná rutina události se pokusí uživatele znovu obnovit voláním RevalidateUser metody. Pokud však ověřovací server není k dispozici, obslužná rutina události vrátí aplikaci do offline stavu.

Poznámka

Metoda RevalidateUser je určena pouze pro usnadnění. Vzhledem k tomu, že nemá návratovou hodnotu, nemůže ukazovat, jestli se obnovení nepodařilo. Opětovné ověření může selhat, například pokud se přihlašovací údaje uživatele na serveru změnily. V takovém případě můžete chtít zahrnout kód, který explicitně ověřuje uživatele po selhání volání služby. Další informace naleznete v části Accessing Web Settings in Návod: Using Client Application Services.

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

Poznámky

Funkce klientských aplikačních služeb používá tuto třídu k reprezentaci ověřeného uživatele. Když nakonfigurujete aplikaci tak, aby používala klientské aplikační služby a ověřování pomocí formulářů, můžete uživatele ověřit voláním metody staticMembership.ValidateUser. Po ověření můžete načíst odkaz na aktuální instanci ClientFormsIdentity prostřednictvím vlastnosti IdentityIPrincipal načtené prostřednictvím vlastnosti staticThread.CurrentPrincipal. Další informace naleznete v tématu klientské aplikační služby.

K ClientFormsIdentity objektu se obvykle dostanete jako IIdentity odkaz, abyste se vyhnuli přímé závislosti na této třídě. To, jestli je uživatel ověřený, můžete určit tak, že zkontrolujete IIdentity.IsAuthenticated vlastnost identity. Uživatel se ale může ověřit pro Windows, ale ne pro služby klientských aplikací. Chcete-li zjistit, zda je uživatel ověřen pro služby klientských aplikací, měli byste také potvrdit, že hodnota vlastnosti IIdentity.AuthenticationType je ClientForms.

K volání metody RevalidateUser, která není definována rozhraním IIdentity, je nutné použít explicitní ClientFormsIdentity odkaz.

Konstruktory

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

Inicializuje novou instanci ClientFormsIdentity třídy.

Vlastnosti

AuthenticationCookies

Získá kolekci souborů cookie načtených z ověřovací služby.

AuthenticationType

Získá typ ověřování, který se používá k ověření uživatele.

IsAuthenticated

Získá hodnotu označující, zda byl uživatel ověřen.

Name

Získá jméno uživatele.

Provider

Získá zprostředkovatele členství, který se používá k ověření uživatele.

Metody

Dispose()

Uvolní všechny prostředky používané ClientFormsIdentity.

Dispose(Boolean)

Uvolní nespravované prostředky používané ClientFormsIdentity a volitelně uvolní spravované prostředky.

Equals(Object)

Určuje, zda je zadaný objekt roven aktuálnímu objektu.

(Zděděno od Object)
GetHashCode()

Slouží jako výchozí funkce hash.

(Zděděno od Object)
GetType()

Získá Type aktuální instance.

(Zděděno od Object)
MemberwiseClone()

Vytvoří mělkou kopii aktuálního Object.

(Zděděno od Object)
RevalidateUser()

Bezobslužné ověřování uživatele pomocí přihlašovacích údajů uložených v mezipaměti.

ToString()

Vrátí řetězec, který představuje aktuální objekt.

(Zděděno od Object)

Platí pro

Viz také