2010-11-20 9 views

Antwort

5

Da Sie die Windows-Authentifizierung zu verwenden scheinen, können Sie die Active Directory-Gruppen und die Mitgliedschaft Ihrer Benutzer in diesen Gruppen verwenden, um die Verwendung von Dienstmethoden einzuschränken.

Mit diesem können Sie dann deklarative Syntax verwenden Anrufer auf bestimmte Gruppen zu beschränken:

[ServiceContract] 
interface IMyService 
{ 
    [OperationContract] 
    [PrincipalPermission(SecurityAction.Demand, Role="YourCustomRole")] 
    public string MethodLimitedToGroup(string someInput); 
} 

Wer nicht Mitglied dieser Gruppe ist es, Ihnen angegeben, und versucht, diese Methode aufzurufen, eine SecurityException erhalten - aber nichts anderes.

Ist es das wonach Sie suchen?

+0

Ja, das, was ich suche, aber ich verstehe nicht, Beziehung zwischen ASP.Net und Active Directory? Wie ASP.net Role-Anbieter von Active Directory-Benutzergruppe. – Nim

+0

@Nim: Entschuldigung, mein Schlechter - ich bin durcheinander geraten; In WCF-Diensten benötigen Sie nichts anderes. Die Verwendung von Windows-Anmeldedaten für die Authentifizierung sollte auch diese Funktionalität bereitstellen, um den Zugriff auf Methoden auf bestimmte Gruppen zu beschränken. –

+1

Wenn der Name der Rolle aus der Konfigurationsdatei stammt, können Sie die deklarative Syntax nicht verwenden, da Attributwerte nur zur Kompilierzeitkonstante verwendet werden können. Verwenden Sie in diesem Fall den Imperativcode. – softveda

Verwandte Themen