2009-05-18 1 views
1

Вот проблема, с которой мы сталкиваемся.Установить путь динамически в режиме проверки подлинности

В настройке размещенной среды мы проводим один и тот же проект несколько раз. В настоящее время мы вручную указываем путь в разделе конфигурации форм нашего web.config. Однако, чтобы сгладить наш процесс развертывания, мы хотели бы установить Путь в зависимости от имени виртуального каталога.

Есть ли способ для нас динамически установить Путь в web.config?

ответ

1

Есть перегрузка FormsAuthentication.SetAuthCookie, которая берет путь к файлу cookie как параметр, поэтому, если вы сами обрабатываете процесс входа в систему, вы можете просто пройти путь по вашему выбору.

Проблема в том, что стандарт System.Web.UI.WebControls.Login будет использовать значение пути по умолчанию. Можно, однако, обрабатывать LoggedIn события, чтобы исправить путь ...

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

Я испытаю это утром, когда я на работу, спасибо мил! – StevenMcD

+0

Хотя это работает, я нашел немного лучшее решение, которое я опубликовал здесь: http://www.failboy.net/2009/05/set-forms-authentication-path/ – StevenMcD

+0

@StevenMcD попробовал вашу ссылку ... похоже, не активен. можете ли вы повторно опубликовать тот, который работает, пожалуйста? – xagyg