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

War es hilfreich?

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
scroll top