ClientFormsIdentity Třída
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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 static
Membership.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 static
Thread.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) |