Hi Zusammen,
ich hab das mal ein eher stragegisches Problem. Ich brauche in einem kleinen Tool eine Komponente die Web-Request entgegennimmt d.h. einen embedded Webserver. Die erste Anlaufstelle für mich war der HttpListener weil im Framework bereits enthalten. Allerdings finde ich es unglücklich, dass der Endpoint immer erst im Betriebssystem als Admin registriert werden muss. Ich würde das Tool gerne so portabel wie möglich machen.
Ich habe mich bereits nach anderen Komponenten umgeschaut und eine ganze Reihe von Beispielen gefunden.
z.B.: http://webserver.codeplex.com/
Allerdings finde ich die Komponenten überskaliert und die API gewöhnungsbedürftig.
Habt ihr einen Tipp/eine Komponente mit der ihr gute Erfahrungen gemacht habt?
Gruß
Levi
Man kann über die Kommandozeile einem anderen Account erlauben eine Url zu benutzen.
netsh http add urlacl url=http://+:8346/ user="NTAuthority\Authenticated Users"
Hm, das macht mir keinen Spaß. Kann man programmatisch irgendwie abfragen, ob der Endpunkt bereits registriert wurde? Dann muss man den Anwender nur beim ersten mal fragen. Allerdings bleibt das Problem, dass er (zumindest einmal) Admin-Rechte braucht.
Gruß
Levion
Allerdings bleibt das Problem, dass er (zumindest einmal) Admin-Rechte braucht.
Wirst Du auch nicht so einfach drum herum kommen, ansonsten wären Sicherheitsrelevante Spoofings viel zu einfach umsetzbar.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
..., dass er (zumindest einmal) Admin-Rechte braucht.
Die Bereitstellung eines Webservers ist ein gravierender Eingriff in das System, da ab diesem Moment bietet das System bewußt Zugriffe von draußen an, daher ist Adminrecht immer erforderlich, da kommst du nicht drum rum.
Grüße
**:::
Wirst Du auch nicht so einfach drum herum kommen, ansonsten wären Sicherheitsrelevante Spoofings viel zu einfach umsetzbar.
Ja, da ist schon was dran. Ich bin hin und her gerissen. Auf der einen Seite finde ich es elegant, dass man keinen neuen Port definieren muss sondern die Eindeutigkeit über diese Registrierung vornehmen kann (...:80/meineapp) andererseits ist die Sache mit den Adminrechten unbequem. Wenn ich eine externe Library wie die hier nutze brauche ich keine Registrierung. Aber ist in einem sauber konfigurierten System das Öffnen eines Firewall-Ports nicht auch für den normalen User unterbunden?
Gruß
Levion
Ich bezweifel, dass der Zugriff von Außen dann möglich ist.
Und unbequem sollte eine niedrigere Priorität haben als die Sicherheit.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Und unbequem sollte eine niedrigere Priorität haben als die Sicherheit.
Da ist was dran. Aber manchmal ist es schwer dem Anwender das zu vermitteln.