Benutzer mit den meisten Antworten
WebService im IIS so konfigurieren dass kein DefaultCredentials nötig ist

Frage
-
Hallo,
ich möchte meinen asmx WebService im IIS so konfigurieren dass ich nicht jedes mal wenn ich ihn in eine Solution einbinde die DefaultCredentials setzen muss. Wie mache ich das?
Schonmal vielen Dank für eure Antworten
- Verschoben Robert Breitenhofer Dienstag, 18. Januar 2011 14:02 ASP.NET (aus:.NET Framework)
- Typ geändert Robert Breitenhofer Dienstag, 25. Januar 2011 08:10 Keine Rückmeldung des Fragenstellender
- Verschoben Robert Breitenhofer Dienstag, 25. Januar 2011 08:13 von MSDN zu TechNet verschoben (aus:ASP.NET)
- Typ geändert TheDuke123456 Donnerstag, 27. Januar 2011 09:20
Antworten
-
oh jetzt hab ichs... also ich habe jetzt einen mir bekannten Account(testAcc) als Account für den anonymen Zugriff zugewiesen. jetzt geht es ohne DefaultCredential.
Standardmäßig schreibt er immer den Account: Internet Guest User (PW ist mir unbekannt)rein und diesem Nutzer habe ich auch immer die Rechte für den WS gegeben. Doch anscheinend ist das PW von diesem Internet Guest User falsch, denn wenn ich beim testAcc absichtlich ein falsches PW eingebe kommt der gleiche Error und ich muss wieder die DefaultCredential setzen.
doch was passiert bei dem DefaultCredential eigentlich? nimmt er da nicht auch diesen Internet Guest User der Standardmäßig drin steht (auch bei Default Web Site)
wie kann ich denn das PW rausfinden von diesem Internet Guest User?
schonmal vielen Dank dir :)
- Als Antwort markiert Stefan FalzModerator Donnerstag, 17. März 2011 00:00
Alle Antworten
-
Hi,
ich möchte meinen asmx WebService im IIS so konfigurieren dass ich nicht jedes mal wenn ich ihn in eine Solution einbinde die DefaultCredentials setzen muss. Wie mache ich das?
vorab: Das wäre im ASP.NET Forum oder IIS Forum besser aufgehoben. Aber egal :)
So genau weiß ich nicht, was Du mit DefaultCredentials meinst. Denn wenn Du für den WebService oder die IIS Website nicht explizit gesagt hast, dass ein Login erforderlich ist, braucht man das auch nicht.
Daher erst mal die Frage: Wo genau kommt welche Abfrage nach den Logininformationen?
Zweite Frage: Wie sehen die Einstellungen der IIS Website (bzw. der Anwendung) aus? Die relevanten Ausschnitte aus der web.config könnten auch helfen.
Dazu noch: Ist anonymer Zugriff im IIS für die Anwendung erlaubt? (IIS MMC -> Website -> Features -> Authentication -> Anonymous Authentication -> Enabled?)
Letzte Frage (für jetzt^^): Welche IIS Version bzw. welche OS verwendest Du auf dem Webserver?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
Hi,
sorry für die späte Antwort,
also, ich hab nicht explizit angegeben dass man sich authentifizieren muss, stdmäßig ist ja in der web.config(vom WebService): <authentication mode="windows"/> doch auch wenn ich es auf "none" ändere, muss ich die DefaultCredentials setzen.
auch im IIS ist der anonyme Zugriff erlaubt.
IIS 6 und Windows Server 2003
bitte helft mir, ich find das total nervig :-(
-
Hi,
also, ich hab nicht explizit angegeben dass man sich authentifizieren muss, stdmäßig ist ja in der web.config(vom WebService): <authentication mode="windows"/> doch auch wenn ich es auf "none" ändere, muss ich die DefaultCredentials setzen.
auch im IIS ist der anonyme Zugriff erlaubt.
ist mir so noch nie untergekommen, es sei denn, ich greife im Webservice auf Resourcen zu, für die der ausführende Account des Application Pools nicht berechtigt ist und ich mit Impersonation arbeite.
Wie bindest Du den Webservice denn ein? Und nochmal die Frage: Wann genau kommt wo der Anmeldedialog?
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
naja in dem WebService schick ich nur ne Mail raus.. selbst wenn ich den WebService auf nen anderen Pool setzte wo er alle Rechte hat ist es das selbe.
wie ich den WebService einbinde? naja mit Add Web Reference... hast du das gemeint?
welchen Anmeldedialog meinst du? da ich einfach nur eine Funktion vom Webservice aufrufe kommt kein dialog. Wenn ich die DefaultCredentials nicht setzte kommt ne Exception dass ich nicht berechtigt bin (fehler 401 glaub ich)
Impersonation kann ich auch auf true oder false setzen ohne dass es einen Unterschied macht...
hier mal die WS-Funktion:
[Serializable] public class WS_Email : System.Web.Services.WebService { [WebMethod] [System.Web.Services.Protocols.SoapDocumentMethodAttribute(OneWay = true)] public void sendMail(string from, string to, string subject, string text, string replyTo) { MailMessage message = new MailMessage(); message.To.Add(to); message.From = new MailAddress(from); message.Subject = subject; message.Body = text; if (replyTo.Length > 5 ) message.ReplyTo = new MailAddress(replyTo); SmtpClient smtp = new SmtpClient(); smtp.Host = "xxx.com"; smtp.Send(message); } }
- Bearbeitet TheDuke123456 Donnerstag, 27. Januar 2011 10:25
-
Hi,
naja in dem WebService schick ich nur ne Mail raus..
hat der Account, der den Application Pool ausführt (meist Netzwerkdienst bzw. Network Service) "Ändern" Rechte auf C:\inetpub\mailroot\ inkl. untergeordneter Objekte?
Ich denke, dass es da irgendwo hakt. Du führst also etwas aus, was der Account des App Pools nicht darf. Schau am besten mal mit FileMon (bzw. Process Monitor ). Ist natürlich ziemlich aufwändig, wenn man nicht weiß, wo man anfangen soll. Aber da ich das Verhalten nur bei fehlenden Berechtigungen auf eine Resource reproduzieren kann, bleibt dir wohl leider nicht viel anderes übrig.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
der Account, der den Application Pool ausführt ist Network Service.
und der anonyme Account hat volle Rechte auf C:\inetpub\mailroot\
aber am Account kanns nicht liegen oder? denn wenn ich den WS auf nen anderen Pool lege (root-account) dann ist es ja das gleiche...
-
oh jetzt hab ichs... also ich habe jetzt einen mir bekannten Account(testAcc) als Account für den anonymen Zugriff zugewiesen. jetzt geht es ohne DefaultCredential.
Standardmäßig schreibt er immer den Account: Internet Guest User (PW ist mir unbekannt)rein und diesem Nutzer habe ich auch immer die Rechte für den WS gegeben. Doch anscheinend ist das PW von diesem Internet Guest User falsch, denn wenn ich beim testAcc absichtlich ein falsches PW eingebe kommt der gleiche Error und ich muss wieder die DefaultCredential setzen.
doch was passiert bei dem DefaultCredential eigentlich? nimmt er da nicht auch diesen Internet Guest User der Standardmäßig drin steht (auch bei Default Web Site)
wie kann ich denn das PW rausfinden von diesem Internet Guest User?
schonmal vielen Dank dir :)
- Als Antwort markiert Stefan FalzModerator Donnerstag, 17. März 2011 00:00
-
Hi,
doch was passiert bei dem DefaultCredential eigentlich? nimmt er da nicht auch diesen Internet Guest User der Standardmäßig drin steht (auch bei Default Web Site)
wie kann ich denn das PW rausfinden von diesem Internet Guest User?
Zu 1: Für ASP.NET nimmt er den Account, der beim Application Pool eingetragen ist. Default wäre da Netzwerkdienst bzw. Network Service. IUSR_... nimmt er ggfs. noch für Classic ASP.
Zu 2: Das Passwort kannst Du nicht ermitteln, höchstens neu setzen. Davon rate ich aber ab.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community -
ich habe jetzt einfach einen Account für diesen Zweck angelegt und bei "Default Web Site" eingetragen. nun nimmt er denk ich immer diesen Account (auch wenn ich eine neue WebSite hinzufüge)
IIRC nicht. Da müsstest Du eine Ebene höher gehen (also auf den Servernamen selbst bzw. den Node "Websites") und dort auf "Eigenschaften". Da stellt man die Vorgaben ein.
Gruß, Stefan
Microsoft MVP - Visual Developer ASP/ASP.NET
http://www.asp-solutions.de/ - Consulting, Development
http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community