Hi,
ich möchte die Anmeldung über https ausführen, jedoch die Mehrzahl der anderen Seiten per http übertragen. Gibt es eine Möglichkeit, die Links relativ zu adressieren und dabei das Protokoll explizit festzulegen. Eine Lösung
wäre auch "https:~/Account/Login.aspx" - nur die scheint auch nicht unterstützt zu werden.
Generell: Das Übertragen des Paßwortes würde ich stets absichern wollen, während die Übrigen Inhalte offen sind. Was geht da in .NET 4?
http und https Verbindungen zum selben Server/zur selben Anwendung sind für den Browser dennoch zwei komplett eigenständige Sitzungen. Auch Cookies werden eigenständig behandelt. Du müsstest dir also selbst irgendwo merken, dass Sitzung
X (https) für denselben Benutzer gilt wie Sitzung Y (http)
Relative Links in dem gezeigten Format sind AFAIK nicht möglich. Man kann sich das aber relativ einfach selbst bauen. Da die NavigateUrl Eigenschaft zur Laufzeit vom HyperLink Control aufgelöst wird, kann man sich eine eigene Ableitung des HyperLink
Controls schreiben und in der Render Methode prüfen, ob der Url ein Protokoll voransteht und falls ja, das automatisch in einen absoluten Url umsetzen.
http://msdn.microsoft.com/de-de/library/system.web.ui.control.resolveclienturl.aspx
http://msdn.microsoft.com/de-de/library/system.web.ui.webcontrols.hyperlink.aspx
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