ClientFormsIdentity Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Representerar en användaridentitet som autentiseras för klientprogramtjänster med hjälp av formulärautentisering.
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
- Arv
-
ClientFormsIdentity
- Implementeringar
Exempel
Följande exempelkod visar hur du använder den här klassen för att tyst förnya en användare när programmet lämnar offlinetillståndet. I det här exemplet uppdaterar en CheckedChanged händelsehanterare offlinestatusen så att den matchar kryssrutans värde. Om användaren ställer in programmet på onlinetillståndet försöker händelsehanteraren återvalidera användaren genom att anropa RevalidateUser metoden. Men om autentiseringsservern inte är tillgänglig returnerar händelsehanteraren programmet till offlinetillståndet.
Note
Metoden RevalidateUser är endast för enkelhetens skull. Eftersom det inte har något returvärde kan det inte ange om förlängningen har misslyckats. Omvalidering kan till exempel misslyckas om användarautentiseringsuppgifterna har ändrats på servern. I det här fallet kanske du vill inkludera kod som uttryckligen validerar användare när ett tjänstanrop misslyckas. Mer information finns i avsnittet Åtkomst till webbinställningar i Genomgång: Använda klientprogramtjänster.
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
Kommentarer
Funktionen för klientprogramtjänster använder den här klassen för att representera en autentiserad användare. När du konfigurerar programmet att använda klientprogramtjänster och formulärautentisering kan du autentisera staticMembership.ValidateUser en användare genom att anropa metoden. Efter autentiseringen kan du hämta en referens till den aktuella ClientFormsIdentity instansen Identity via egenskapen för den IPrincipal som hämtats via staticThread.CurrentPrincipal egenskapen. Mer information finns i Klientprogramtjänster.
Du kommer vanligtvis åt ett ClientFormsIdentity objekt som en IIdentity referens för att undvika ett direkt beroende av den här klassen. Du kan avgöra om en användare autentiseras IIdentity.IsAuthenticated genom att kontrollera identitetens egenskap. Användaren kan dock autentiseras för Windows, men inte för klientprogramtjänster. För att avgöra om användaren autentiseras för klientprogramtjänster bör du även bekräfta att IIdentity.AuthenticationType egenskapsvärdet är "ClientForms".
Du måste använda en explicit ClientFormsIdentity referens för att anropa RevalidateUser metoden, som inte definieras av IIdentity gränssnittet.
Konstruktorer
| Name | Description |
|---|---|
| ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
Initierar en ny instans av ClientFormsIdentity klassen. |
Egenskaper
| Name | Description |
|---|---|
| AuthenticationCookies |
Hämtar en samling cookies som hämtats från autentiseringstjänsten. |
| AuthenticationType |
Hämtar den typ av autentisering som används för att autentisera användaren. |
| IsAuthenticated |
Hämtar ett värde som anger om användaren har autentiserats. |
| Name |
Hämtar användarens namn. |
| Provider |
Hämtar den medlemskapsprovider som används för att autentisera användaren. |
Metoder
| Name | Description |
|---|---|
| Dispose() |
Släpper alla resurser som används av ClientFormsIdentity. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av ClientFormsIdentity och släpper eventuellt de hanterade resurserna. |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| RevalidateUser() |
Autentiserar användaren tyst med cachelagrade autentiseringsuppgifter. |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |