Gewusst wie: Prüfen des Sicherheitskontexts
Beim Programmieren von Windows Communication Foundation (WCF)-Diensten können Sie mit dem Dienstsicherheitskontext genaue Informationen über die Clientanmeldeinformationen und Ansprüche bestimmen, die für die Authentifizierung des Diensts benötigt werden. Dies geschieht anhand der Eigenschaften der ServiceSecurityContext-Klasse.
So können Sie z. B. die Identität des aktuellen Clients mit der PrimaryIdentity-Eigenschaft oder der WindowsIdentity-Eigenschaft abrufen. Mit der IsAnonymous-Eigenschaft können Sie ermitteln, ob der Client anonym ist.
Sie können auch bestimmen, welche Ansprüche im Namen des Clients gestellt werden, indem Sie die Auflistung der Ansprüche der AuthorizationContext-Eigenschaft durchlaufen.
So rufen Sie den aktuellen Sicherheitskontext ab
- Greifen Sie auf die statische Current- Eigenschaft zu, um den aktuellen Sicherheitskontext abzurufen. Überprüfen Sie eine beliebige der Eigenschaften des aktuellen Kontexts für den Verweis.
So ermitteln Sie die Identität des Aufrufers
- Drucken Sie den Wert der PrimaryIdentity-Eigenschaft und der WindowsIdentity-Eigenschaft.
So analysieren Sie die Ansprüche eines Aufrufers
Geben Sie die aktuelle AuthorizationContext-Klasse zurück. Verwenden Sie die Current-Eigenschaft, um den aktuellen Dienstsicherheitskontext zurückzugeben, geben Sie dann den AuthorizationContext mit der AuthorizationContext-Eigenschaft zurück.
Analysieren Sie die Auflistung der ClaimSet-Objekte, die von der ClaimSets-Eigenschaft der AuthorizationContext-Klasse zurückgegeben werden.
Beispiel
Im folgenden Beispiel werden die Werte der WindowsIdentity-Eigenschaft und der PrimaryIdentity-Eigenschaft des aktuellen Sicherheitskontexts und der ClaimType-Eigenschaft gedruckt sowie der Ressourcenwert des Anspruchs und die Right-Eigenschaft jedes Anspruchs im aktuellen Sicherheitskontext.
Kompilieren des Codes
Der Code verwendet die folgenden Namespaces: