Sdílet prostřednictvím


ClientFormsIdentity Třída

Definice

Představuje identitu uživatele ověřenou pro klientské aplikační služby pomocí ověřování 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í ukázkový kód ukazuje, jak použít tuto třídu k tichému opětovnému ověření uživatele, když aplikace opustí stav offline. V tomto příkladu obslužná rutina CheckedChanged události aktualizuje stav offline tak, aby odpovídal hodnotě zaškrtávacího políčka. Pokud uživatel nastaví aplikaci do stavu online, obslužná rutina události se pokusí uživatele znovu obnovit voláním RevalidateUser metody. Pokud je však ověřovací server nedostupný, vrátí obslužná rutina události 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 označit, jestli se ověření nezdařilo. Obnovení platnosti může selhat, například pokud se na serveru změnily přihlašovací údaje uživatele. V takovém případě můžete chtít zahrnout kód, který explicitně ověří uživatele po selhání volání služby. Další informace najdete v části Přístup k nastavení webu v návodu: Používání klientských aplikačních služeb.

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 ověřování pomocí klientských aplikačních služeb a formulářů, můžete uživatele ověřit voláním staticMembership.ValidateUser metody . Po ověření můžete načíst odkaz na aktuální ClientFormsIdentity instanci prostřednictvím Identity vlastnosti IPrincipal načtené prostřednictvím staticThread.CurrentPrincipal vlastnosti . Další informace najdete v tématu Klientské aplikační služby.

Obvykle budete přistupovat k objektu ClientFormsIdentity jako IIdentity odkaz, aby se zabránilo přímé závislosti na této třídě. Ověřením vlastnosti identity můžete zjistit, jestli je uživatel ověřený IIdentity.IsAuthenticated . Uživatel však může být ověřený pro Windows, ale ne pro služby klientských aplikací. Pokud chcete zjistit, jestli je uživatel ověřený pro služby klientských aplikací, měli byste také ověřit, že IIdentity.AuthenticationType hodnota vlastnosti je ClientForms.

Musíte použít explicitní ClientFormsIdentity odkaz pro volání RevalidateUser metody, která není definována rozhraním IIdentity .

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é nástrojem ClientFormsIdentity.

Dispose(Boolean)

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

Equals(Object)

Určí, zda se zadaný objekt rovná aktuálnímu objektu.

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

Slouží jako výchozí hashovací funkce.

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

Získá aktuální Type instanci.

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

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

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

Bezobslužně ověřuje 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é