IIS 6.0: Authentifizierung von WebService durch Aufruf aus einer WebSite

  • #1
K

KarstenAsche

Guest
Hi alle zusammen,

ich habe folgendes Problem. Ich habe einen WebService entwickelt aus dem ich über eien WebSite Funktionen ausführen möchte. Nun ist mein Problem, ich benötige den angemeldeten User, um diesen dem WebService weiterzuleiten. Nun ist meine IIS Einstellung so, dass ich einen Applikationspool für WebSite habe, wo die Identität auf Konfigurierbar mit dem Administrator angelegt habe. Die Standard WebSite sowie der Service, welcher unter dieser WebSite existiert haben in der Verzeichnissicherheit den anonymen Zugriff. Mit dieser Konfiguration bekomme ich beim Client allerdings immer den Benutzer aus dem anonymen Zugriff zurück. Jetzt habe ich in Erfahrung bringen können, das nicht der anonyme Zugriff eingestellt werden muss sondern die Integrierte Windows Authentifizerung. Sobald ich dies einstelle verliert der Client allerdings die Berechtigung um auf den Service zuzugreifen. Wie genau muss ich den jetzt den IIS konfigurieren um die Windowsauthentifizierung zu nutzen, a) ohne dass ich eine Benutzerabfrage am Client bekomme und b) die Berechtigung auf den Service habe.
Ich habe es bereits versucht, indem den ganz normal DefaultAppPool benutze. Habe den Benutzern sämtliche Berechtigungen an den Verzeichnissen der WebSite, sowie dem WebService gegeben.
Hat alles nichts gebracht. Erstmal kommt die Benutzerabfrage und wenn ich mich da mit dem korrekten Benutzer anmelde bekomme ich den Fehler 401.6 Unauthorized.
In der Web.Config habe ich AuthentificationMode auf Windows stehen und habe sogar das identity tag mit der einstellung impersonate=true gesetzt. In der Machine Config habe ich bei processModel das systemkonto eingestellt. Hat alles nichts genützt.
Ich steh echt kurz vor, Verzweifeln.
Ich hoffe ihr versteht was ich da geschrieben habe und jemand von euch kann mir weiterhelfen.

Gruß

Karsten
 
  • #2
Hmm bisserl wirr das ganze, versuch es eventuell nochmal anderst zu erklähen ;)

Dieser Webservice den du da meinst, stimmen den die Ordnerberechtigungen ? Dort muss der IIS_USR Zugriff haben.
 
  • #3
@Scipione: Ja die Ordnerberechtigungen stimmen der IIS_USR ist berechtigt mit Vollzugriff.
Wie bereits gesagt: Der Service stellt Funktionen bereit, die von einer WebSite genutz werden soll.
Das ganze ist eine Intranet Anwendung.
Jetzt komme ich als stinknormaler User an meine Arbeitsplatz und starte diese WebSite mit meinem Browser. Damit der Service nun weiß, wer ihn da anspricht möchte ich das die WebSite Windows Authentifiziert startet, bei anonymem Zugriff wird nicht der angemeldete Windows User ausgelesen sondern der welcher bei Anonymen Zugriff eingetragen ist.
Wenn ich jetzt aber den IIS auf Window Authentifizierung umstelle und der Client ruft die Web Site auf, dann bekommt der Client die Meldung, das er nicht berechtigt sei diese Seite zu öffnen.
Beim Debuggen des Codes der WebSite passiert dieser Fehler allerdings erst wenn ich auf den WebService zugreife. Spricht also dafür das die WebSite keine Berechtigung hat mit dem WebService zu kommunizieren.
Wie gesagt ich weiß nun nicht mehr wie ich das alles konfigurieren muss, das es so funktioniert.
 
  • #4
Ah nu komm ich mit :)

Ja wenn du auf integrierte Auth stellst, dann muss das Verzeichnis mit deiner Intranetanwendung auch die File- / Odernerberechtigungen für die User (oder Usergruppen) haben. Sind die dort richtig eingetragen (Vererbung) ?

Tippe ganz stark auf etwas in der Richtung. Am besten du vergibts mal Testweise vollzugriff für Jeder auf dem Ordner deiner Intranetanwendung und vererbst das nach unten durch. Dann teste nochmals mit Integrierter Authentifizierung obs geht.
 
  • #5
Das war es leider nicht, habe gerade nochmal überprüft ob alle Berechtigungen sitzen, sind alle auf Vollzugriff eingetragen. Das läuft leider auch nicht.
 
  • #6
Hmm, nochmal ne Idee, stell mal den Apppool auf netzwerkdienst um
 
  • #7
Hab ich auch schon probiert.
 
  • #8
Nutzt du Client und Server in einer Active Directory umgebung?? Wenn ja: Ist der IIS auf einem DC installiert??
Wenn du die erste frage mit JA beantwortest und die Zweite mit nein dann gehe mal in das Directory und setze bei den Einstellungen für den IIS Server den Hacken für Dem Computer für Deligierungszwecke vertrauen oder Trusted for Delegation oder so. Erst dann sollte der IIS Dienst die Berechtigung haben Sich am DC für deinen User auszugeben, ein Zugriffstoken zu erstellen und die Berechtigung zu checken. Ist der IIS auf einem DC installiert hat er die Berechtigung sowiso.

Gruß Sax
 
Thema:

IIS 6.0: Authentifizierung von WebService durch Aufruf aus einer WebSite

ANGEBOTE & SPONSOREN

Statistik des Forums

Themen
113.840
Beiträge
707.963
Mitglieder
51.494
Neuestes Mitglied
Flensburg45
Oben