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 klientské aplikační služby 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 opětovnému ověření uživatele, když aplikace opustí stav offline. V tomto příkladu obslužná CheckedChanged rutina 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 ověřovat voláním RevalidateUser metody . Pokud je však ověřovací server nedostupný, obslužná rutina události vrátí aplikaci do offline stavu.
Poznámka
Metoda je určena RevalidateUser pouze pro usnadnění. Vzhledem k tomu, že nemá návratovou hodnotu, nemůže označit, jestli se ověření nezdařilo. Ověření 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 služeb klientských aplikací používá tuto třídu k reprezentaci ověřeného uživatele. Když aplikaci nakonfigurujete tak, aby používala služby klientských aplikací a ověřování pomocí formulářů, můžete uživatele ověřit voláním static
Membership.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 static
Thread.CurrentPrincipal vlastnosti . Další informace najdete v tématu Klientské aplikační služby.
Obvykle budete přistupovat k objektu ClientFormsIdentity jako odkaz, IIdentity aby se zabránilo přímé závislosti na této třídě. Ověření uživatele můžete zjistit tak, že zkontrolujete IIdentity.IsAuthenticated vlastnost identity. Uživatel však může být ověřený pro Windows, ale ne pro klientské aplikační služby. Chcete-li zjistit, zda je uživatel ověřen pro klientské aplikační služby, měli byste také ověřit, že IIdentity.AuthenticationType hodnota vlastnosti je "ClientForms".
Je nutné 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 uživatel byl 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é nástrojem ClientFormsIdentity 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() |
Type Získá z aktuální instance. (Zděděno od Object) |
MemberwiseClone() |
Vytvoří mělkou kopii aktuálního Objectsouboru . (Zděděno od Object) |
RevalidateUser() |
Bezobslužné ověření 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é
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro