Wie stelle ich den anfordernden Benutzer-Rollen in einem WCF-Dienst?
-
22-08-2019 - |
Frage
gestartet einfach in den Griff WCF Sicherheit zu bekommen. Wie stelle ich die Rollen eines Benutzers im Dienst?
z.
// Could use declarative security here, i.e. using PrincipalPermission attribute
public string MyService()
{
// Would like some code that does something like:
foreach( Role role in CurrentUser.Roles )
{
}
}
Danke
Lösung
Wenn Sie mit Windows-Gruppen zu tun können Sie diesen Code verwenden:
foreach (IdentityReference idRef in WindowsIdentity.GetCurrent().Groups)
{
Console.WriteLine(idRef.Translate(typeof(NTAccount)).Value);
}
Andere Tipps
Die rollenbasierte Sicherheitsinfrastruktur in .NET (dh IPrincipal) erlauben nicht alle ein Benutzerrollen zu holen. Sie können nur erkundigen, ob ein Benutzer in einer bestimmten Rolle ist (über IPrincipal.IsInRole ( „Rollenname“)).
Allerdings gibt es Lösungen, wenn Sie nicht auf eine bestimmte Authentifizierung / Autorisierung Setup Gewirr nichts dagegen. Zum Beispiel zeigte ein weiteres Plakat, wie die Benutzer-Rollen zu erhalten, wenn die Windows-Authentifizierung verwendet wird.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow