Benutzer anlegen über Webservice

Ich brauche Informationen, wie ich mit .net ein Webservice erstelle, mit dem es möglich ist einen Benutzer auf einem Server anzulegen, und ihm bestimmte RWX Rechte auf bestimmte Ordner erteile.

hallo sado,

unabhängig vom webservice, brauchst du eine funktion, die dir nutzer mit rechten anlegt, evtl. mit rückgabewert um festzustellen, ob die aktion erfolgreich war.

den webservice zu implementieren ist dann das kleinste problem.
kann dir dann eine bsp-source posten

grüße

rasta

Ich brauche Informationen, wie ich mit .net ein Webservice
erstelle, mit dem es möglich ist einen Benutzer auf einem
Server anzulegen, und ihm bestimmte RWX Rechte auf bestimmte
Ordner erteile.

Danke erstmal!
Es stellt sich mir die Frage, wie lege ich Benutzer an, und vergebe diese Rechte?
Gruss
Sado

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo sado,

da stellt sich mir die frage --wo willst du was anlegen? :smile:
z.b. benutzer direkt am server anlegen – über ldap?

erzähl doch ein bisschen was über die rahmenbedinungen

grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Es sollen Benutzer über ein Webformular, das nur netzintern verfügbar ist, angelegt werden, die dann von außerhalb per ftp Zugriff haben. Da sich für jeden User ein Verzeichnissbaum mit speziellen Rechten aufbaut, soll ds ganze automatisiert werden.

Gruss
Sado

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo sado,

wenn du mir jetzt noch sagst ob der ftp-server eine nt-kiste oder linux oder sunos oder lochkarten oder oder oder ist :smile:

… dann kommen wir zu dem punkt das ich dir sagen kann, wie du das machen kannst.

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo Rasta!
Der FTP-Server ist eine W2K3 Kiste.
Danke
und Gruss
Sado

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo sado,

damit du benutzer und rechte auf der 2wk3-.kiste per programm anlegen, ändern und editieren kannst, muss dort ein certificate-server installiert sein.

ich nehme an, der ftp-server steht in der dmz – demnach muss der datenverkehr aus dem intranet(nur der server) zum ftp-server eingerichtet werden.

dann schreibst du
Imports System.DirectoryServices

und sofern du pfad, domain, berechtigungsgruppen weißt, kannst du fröhlich aus dem intranet die ftp-user editieren.

hoffe es hilft weiter

grüße
rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Vielen Dank schonmal!
OK, ich habe Zugriff auf das System.DirectoryServices, aber wie Arbeite ich damit? die MSDN Hilfe ist mehr als unbrauchbar in der Beschreibung der Objekte.
Danke!
Sado

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

hallo sado,

wenn die msdn nicht hilft, verwende google-groups zum heraussuchen der von dir gewünschten code-schnipsel

einen neuen user legst du z.b. so an:

Dim entry As DirectoryEntry = New DirectoryEntry(_path & „/“ & _domain, _username & „,“ & _domain, _UserPwd, AuthenticationTypes.Secure)
Dim newuser As System.DirectoryServices.DirectoryEntry = entry.Children.Add(„CN=“ & userName & " (" & userLogin & „)“, „user“)

With newuser.Properties
.Item(„cn“).Value = userName & " (" & userLogin & „)“
.Item(„sAMAccountName“).Value = userLogin
.Item(„userPrincipalName“).Value = userLogin
.Item(„Name“).Value = userName
.Item(„displayname“).Value = userName
.Item(„userAccountControl“).Value = 512
End With
newuser.CommitChanges()

viele grüße

rasta

Vielen Dank schonmal!

OK, ich habe Zugriff auf das System.DirectoryServices, aber
wie Arbeite ich damit? die MSDN Hilfe ist mehr als unbrauchbar
in der Beschreibung der Objekte.
Danke!
Sado

hallo sado,

damit du benutzer und rechte auf der 2wk3-.kiste per programm
anlegen, ändern und editieren kannst, muss dort ein
certificate-server installiert sein.

ich nehme an, der ftp-server steht in der dmz – demnach muss
der datenverkehr aus dem intranet(nur der server) zum
ftp-server eingerichtet werden.

dann schreibst du
Imports System.DirectoryServices

und sofern du pfad, domain, berechtigungsgruppen weißt, kannst
du fröhlich aus dem intranet die ftp-user editieren.

hoffe es hilft weiter

grüße
rasta

Hallo Rasta!
Der FTP-Server ist eine W2K3 Kiste.
Danke
und Gruss
Sado

hallo sado,

wenn du mir jetzt noch sagst ob der ftp-server eine nt-kiste
oder linux oder sunos oder lochkarten oder oder oder ist :smile:

… dann kommen wir zu dem punkt das ich dir sagen kann, wie
du das machen kannst.

viele grüße

rasta

Es sollen Benutzer über ein Webformular, das nur netzintern
verfügbar ist, angelegt werden, die dann von außerhalb per ftp
Zugriff haben. Da sich für jeden User ein Verzeichnissbaum mit
speziellen Rechten aufbaut, soll ds ganze automatisiert
werden.

Gruss
Sado

hallo sado,

da stellt sich mir die frage --wo willst du was anlegen? :smile:
z.b. benutzer direkt am server anlegen – über ldap?

erzähl doch ein bisschen was über die rahmenbedinungen

grüße

rasta

Danke erstmal!
Es stellt sich mir die Frage, wie lege ich Benutzer an, und
vergebe diese Rechte?
Gruss
Sado

hallo sado,

unabhängig vom webservice, brauchst du eine funktion, die dir
nutzer mit rechten anlegt, evtl. mit rückgabewert um
festzustellen, ob die aktion erfolgreich war.

den webservice zu implementieren ist dann das kleinste
problem.
kann dir dann eine bsp-source posten

grüße

rasta

Ich brauche Informationen, wie ich mit .net ein Webservice
erstelle, mit dem es möglich ist einen Benutzer auf einem
Server anzulegen, und ihm bestimmte RWX Rechte auf bestimmte
Ordner erteile.

Wow, vielen dank für den google-groups tipp!
mein problem ist nun noch, das ich mich mit den AD noch nicht gut auskenne.
Kannst du mir vieleicht noch schnell sagen, welche Werte deine Bsp. Variablen haben, bzw. wofür sie stehen, und was es mit diesem „path“ auf sich hat?
Ich habe das so verstanden, das „path“ ungefähr so aussieht:
LDAP://,cn=
Wobei ja in der Entwicklung mein Rechner ist, und Benutzer ein Lokaler ist, oder wie?
Ich habe auch einiges mit „ou“ gefunden, aber keine wirkliche Syntaxerklärung von dem Ganzen!
Bis hierhin schonmal VIELEN DANK!
Hast mich da auf ganz neue Wege gebracht mit den AD`s!

Gruss
Sado

hallo sado,

wenn die msdn nicht hilft, verwende google-groups zum
heraussuchen der von dir gewünschten code-schnipsel

einen neuen user legst du z.b. so an:

Dim entry As DirectoryEntry = New
DirectoryEntry(_path & „/“ & _domain, _username & „,“ &
_domain, _UserPwd, AuthenticationTypes.Secure)
Dim newuser As
System.DirectoryServices.DirectoryEntry =
entry.Children.Add(„CN=“ & userName & " (" & userLogin & „)“,
„user“)

With newuser.Properties
.Item(„cn“).Value = userName & " (" &
userLogin & „)“
.Item(„sAMAccountName“).Value = userLogin
.Item(„userPrincipalName“).Value = userLogin
.Item(„Name“).Value = userName
.Item(„displayname“).Value = userName
.Item(„userAccountControl“).Value = 512
End With
newuser.CommitChanges()

viele grüße

rasta

hallo sado,

entwickelt sich ja zum mega-thread hier :smile:

ou = Organizational Unit

ein artikel der dich interessieren könnte =
http://www.aspheute.com/artikel/20011121.htm

„path“ hast du richtig verstanden, „username“ ist ein einfacher string

viele grüße
rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe folgenden code getestet, aber es funktioniert nicht.

_path = „LDAP://LM/MSFTPSVC/1/root“
_domain = „localhost“
_username = „administrator“
_userPwd = „**adminpasswort**“
userName = „TestFTP“
userlogin = „IIsFTPVirtualDir“

Dim entry As DirectoryEntry = New DirectoryEntry(_path & „/“ & _domain, _username & „,“ & _domain, _UserPwd, AuthenticationTypes.Secure)
Dim newuser As System.DirectoryServices.DirectoryEntry = entry.Children.Add(„CN=“ & userName & " (" & userLogin & „)“, „user“)

With newuser.Properties
.Item(„cn“).Value = userName & " (" & userLogin & „)“
.Item(„sAMAccountName“).Value = userLogin
.Item(„userPrincipalName“).Value = userLogin
.Item(„Name“).Value = userName
.Item(„displayname“).Value = userName
.Item(„userAccountControl“).Value = 512
End With
newuser.CommitChanges()

Vielen Dank
Gruss
Sado

hallo sado,

was bringt er denn für eine fehlermeldung?
der certificate-server ist auf der ftp-kiste installiert?

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Oh, mist, dass kann es natürlich sein!
Ich bin gerade in der Entwicklung mit „Testserver“, sprich ich habe alles lokal auf meiner Kiste.
Kann ich den auch lokal installieren?
(Aus der MSDN?)
Danke
Gruss
Sado

hallo sado,

ich denke, der certificate-server ist eine komponente deiner windows-server-cd.
ich hab das zwar mit extra-certificate-server getestet - aber bestimmt funktioniert das auch, wenn du alles lokal installiert hast

grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ok, jetzt Funktioniert das so wie ich das will!
Ich habe jetzt vollen Zugriff auf AD!
Ein sehr schönes, leider auch unbekanntes Tool ist „dsquery.exe“
ein Komandozeilen tool, das LDAP Abfragen ausführt.
VIELEN Dank an Rasta!
Du hast mir sehr weitergeholfen, und ich denke ich bleibe noch eine Weile bei den AD`s, macht langsam Spass.

Gruss
Und Dankeschön
Sado

PS.: Ist doch ein MegaThread geworden

coole sache – freut mich das du weitergekommen bist.

was ich noch anmerken wollte – die pflege der bentzer über eine seite ist nicht gleich webservice.

dafür musst du noch eine webservice-schnittstelle programmieren, (die dann z.b. durch die firewall hindurch deine benutzer anlegt – ) die du dann in deinem programm oder webseite einbindest

wenn du es dann doch so machen möchtest, machen wir ein neues thema auf :smile:

viele grüße

rasta

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ja, aber das wichtigste war erstmal den Weg, die ADs zu finden, und wie es funktioniert. Der Rest dürfte nun dann doch machbar sein. Nur ADs zu Programmieren war eben etwas neues für mich, obwohl ich schon eine ganze Weile programmiere.
Danke
Gruss
Sado