2009-05-18 12 views
1

Hier ist das Problem, vor dem wir stehen.Pfad dynamisch in Formularauthentifizierung festlegen

In einer gehosteten Umgebung richten wir das gleiche Projekt mehrmals aus. Momentan geben wir manuell einen Pfad im Formularkonfigurationsbereich unserer web.config an. Um jedoch unseren Bereitstellungsprozess zu vereinfachen, möchten wir den Pfad abhängig vom Namen des virtuellen Verzeichnisses festlegen.

Gibt es eine Möglichkeit für uns, den Pfad dynamisch in der web.config zu setzen?

Antwort

1

Es gibt eine Überladung von FormsAuthentication.SetAuthCookie, die den Cookie-Pfad als Parameter verwendet. Wenn Sie also den Anmeldevorgang selbst durchführen, können Sie einfach den Pfad Ihrer Wahl übergeben.

Das Problem ist, dass der Standard System.Web.UI.WebControls.Login nur den Standardpfadwert verwendet. Sie könnten jedoch übernehmen die LoggedIn Ereignis den Pfad zu beheben ...

void FixCookie(object sender, EventArgs args) 
{ 
    Response.Cookies[FormsAuthentication.FormsCookieName].Path = "/my-custom-path"; 
} 
+0

Ich werde dies am Morgen testen, wenn ich an die Arbeit, vielen Dank mil! – StevenMcD

+0

obwohl das funktioniert, fand ich eine etwas bessere Lösung, die ich hier gepostet habe: http://www.failboy.net/2009/05/set-forms-authentication-path/ – StevenMcD

+0

@stevenMcD versuchte Ihren Link ... scheint nicht aktiv zu sein. Kannst du bitte einen, der funktioniert, erneut posten? – xagyg

Verwandte Themen