Autor Beitrag
FrederikR
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Di 07.06.11 16:22 
Hallo,

ich möchte gerne einen WebService erstellen, der eine Anbindung zum Active Directory herstellt und dort mit einem bestimmten berechtigten Benutzer Änderungen am AD vornimmt.
Diese Änderungen sollen auf dem übergebenen Benutzer und einem davon abhängigen Benutzer ausgeführt werden.

Es soll sich also z.B. ein User1A (ohne Rechte auf dem AD) am WebService anmelden und eine bestimmte Funktionalität an seinem Account und/oder an dem Account eines Users1B (ebenfalls ohne Rechte auf dem AD) ausführen können. Um diese spezielle Funktionalität ausführen zu können, soll dem WebService ein bestimmter ServiceAccount mit den entsprechenden Rechten übergeben werden.

Meine Überlegung ist jetzt nur, ob das funktioniert sich am WebService (später WebSite) mit einem Benutzer anzumelden, die Aktionen aber im Kontext eines anderen Benutzers auszuführen?

Wie mache ich das Ganze sicher? Dass die hinterlegten Credentials des Service-Accounts nicht für andere Funktionen missbraucht werden können?
Ich schätze mal, dass ich dort eine Klasse für die Verbindungsherstellung zum AD mit dem ServiceAccount brauche.

Wie ich mich informiert habe, scheint mir "DirectoryServices" die geeignetste Lösung zu sein, um aufs AD zuzugreifen. Ist das richtig? Gibt es eine bessere Alternative?

Ich bin leider Neuling in C-Sharp und meine OO-Kenntnisse sind auch etwas eingerostet.

Vielen Dank!
Freddy
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Do 09.06.11 12:55 
Für das ActiveDirectory gibt es bereits WebServices zum Zugriff darauf. Diese sind allerdings erst mit einem Domain Controller auf Windows Server 2008 R2 mit dabei. Denn da gibt es auch für einen Client Tools zum Verwalten des AD, wie PowerShell AddIns oder das Verwaltungscenter, die nicht auf RPC basieren.

Natürlich kannst Du Dich dann am WebService mit einem anderen Benutzer anmelden, solltest Du selbigen auf einem anderen Server installieren, musst Du das sogar oder Dich mit Kerberos rumschlagen.

Was ist denn genau das Szenario? Soll ein Supportteam die Mitarbeiterdaten verwalten können? Wenn ja, mit einem SharePoint Server 2010 kannst Du das quasi OOTB ;).
FrederikR Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Do 09.06.11 15:05 
Das Szenario ist, dass einige Benutzer einen zweiten Account für bestimmte Aufgaben erhalten, der aber durch GPOs eingeschränkt ist und daher nicht mit Boardmitteln das Kennwort geändert werden kann.
Dafür soll es einen Webservice und eine Webanwendung im Intranet geben, mit dessen Hilfe die Mitarbeiter das Kennwort des zusätzlichen Accounts selbst ändern können sollen. Sie sollen sich aber mit dem normalen Account anmelden und dann das Kennwort des zweiten Accounts zurücksetzen (also ohne altes Kennwort) können.

Wie kann ich auf diese AD-Webservices aus einer ASP.NET-Website (Visual Studio 2010) zugreifen?

EDIT: Kann ich auf den vorhandenen Webservice noch einen mit meiner gewünschten speziellen Funktionalität oben drauf setzen?

Vielen Dank
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Fr 10.06.11 13:40 
user profile iconFrederikR hat folgendes geschrieben Zum zitierten Posting springen:
Wie kann ich auf diese AD-Webservices aus einer ASP.NET-Website (Visual Studio 2010) zugreifen?

Die Dokumentation findest Du hier: msdn.microsoft.com/e...304395(PROT.10).aspx

user profile iconFrederikR hat folgendes geschrieben Zum zitierten Posting springen:
EDIT: Kann ich auf den vorhandenen Webservice noch einen mit meiner gewünschten speziellen Funktionalität oben drauf setzen?

Klar, Du kannst ja einfach einen WebService schreiben, der den WebService nutzt ;). Inwieweit es dann sinnvoll ist, sich mit einer neuen mit höheren Anforderungen gespickten Schnittstelle zu befassen und nicht den LDAP-Weg zu gehen, musst Du aber selbst entscheiden ;).