ClientFormsIdentity Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Stellt eine Benutzeridentität dar, die mit der Formularauthentifizierung für Clientanwendungsdienste authentifiziert wurde.
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
- Vererbung
-
ClientFormsIdentity
- Implementiert
Beispiele
Der folgende Beispielcode veranschaulicht, wie diese Klasse verwendet wird, um einen Benutzer automatisch erneut zu überprüfen, wenn die Anwendung den Offlinezustand verlässt. In diesem Beispiel aktualisiert ein CheckedChanged Ereignishandler den Offlinestatus so, dass er mit dem Kontrollkästchenwert übereinstimmt. Wenn der Benutzer die Anwendung auf den Onlinezustand festlegt, versucht der Ereignishandler, den Benutzer durch Aufrufen der RevalidateUser -Methode erneut zu überprüfen. Wenn der Authentifizierungsserver jedoch nicht verfügbar ist, gibt der Ereignishandler die Anwendung in den Offlinezustand zurück.
Hinweis
Die RevalidateUser -Methode wird nur ergänzend bereitgestellt. Da sie nicht über einen Rückgabewert verfügt, kann sie nicht angeben, ob die erneute Überprüfung fehlgeschlagen ist. Die erneute Überprüfung kann z. B. fehlschlagen, wenn die Anmeldeinformationen des Benutzers auf dem Server geändert wurden. In diesem Fall ist es ratsam, Code einzuschließen, der die Benutzer nach dem Fehlschlagen eines Dienstaufrufs explizit validiert. Weitere Informationen finden Sie im Abschnitt Zugreifen auf Webeinstellungen unter Exemplarische Vorgehensweise: Verwenden von Clientanwendungsdiensten.
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
Hinweise
Die Clientanwendungsdienste-Funktion verwendet diese Klasse, um einen authentifizierten Benutzer darzustellen. Wenn Sie Ihre Anwendung für die Verwendung von Clientanwendungsdiensten und Formularauthentifizierung konfigurieren, können Sie einen Benutzer authentifizieren, indem Sie die static
Membership.ValidateUser -Methode aufrufen. Nach der Authentifizierung können Sie einen Verweis auf die aktuelle ClientFormsIdentity Instanz über die Identity -Eigenschaft von abrufen, die IPrincipal über die static
Thread.CurrentPrincipal -Eigenschaft abgerufen wird. Weitere Informationen finden Sie unter Clientanwendungsdienste.
In der Regel greifen Sie auf ein ClientFormsIdentity Objekt als IIdentity Verweis zu, um eine direkte Abhängigkeit von dieser Klasse zu vermeiden. Sie können bestimmen, ob ein Benutzer authentifiziert ist, indem Sie die IIdentity.IsAuthenticated -Eigenschaft der Identität überprüfen. Der Benutzer wird jedoch möglicherweise für Windows authentifiziert, aber nicht für Clientanwendungsdienste. Um zu bestimmen, ob der Benutzer für Clientanwendungsdienste authentifiziert ist, sollten Sie auch bestätigen, dass der IIdentity.AuthenticationType Eigenschaftswert "ClientForms" lautet.
Sie müssen einen expliziten ClientFormsIdentity Verweis verwenden, um die RevalidateUser -Methode aufzurufen, die nicht von der IIdentity -Schnittstelle definiert wird.
Konstruktoren
ClientFormsIdentity(String, String, MembershipProvider, String, Boolean, CookieContainer) |
Initialisiert eine neue Instanz der ClientFormsIdentity-Klasse. |
Eigenschaften
AuthenticationCookies |
Ruft eine Auflistung von Cookies ab, die vom Authentifizierungsdienst abgerufen wurden. |
AuthenticationType |
Ruft den Authentifizierungstyp ab, der zur Authentifizierung des Benutzers verwendet wird. |
IsAuthenticated |
Ruft einen Wert ab, der angibt, ob der Benutzer authentifiziert wurde. |
Name |
Ruft den Namen des Benutzers ab. |
Provider |
Ruft den Mitgliedschaftsanbieter ab, mit dem der Benutzer authentifziert wird. |
Methoden
Dispose() |
Gibt alle vom ClientFormsIdentity verwendeten Ressourcen frei. |
Dispose(Boolean) |
Gibt die von ClientFormsIdentity verwendeten nicht verwalteten Ressourcen und optional die verwalteten Ressourcen frei. |
Equals(Object) |
Bestimmt, ob das angegebene Objekt gleich dem aktuellen Objekt ist. (Geerbt von Object) |
GetHashCode() |
Fungiert als Standardhashfunktion. (Geerbt von Object) |
GetType() |
Ruft den Type der aktuellen Instanz ab. (Geerbt von Object) |
MemberwiseClone() |
Erstellt eine flache Kopie des aktuellen Object. (Geerbt von Object) |
RevalidateUser() |
Authentifiziert den Benutzer automatisch mit zwischengespeicherten Anmeldeinformationen. |
ToString() |
Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Geerbt von Object) |
Gilt für:
Weitere Informationen
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für