在表单身份验证中动态设置路径

时间:2009-05-18 13:50:11

标签: asp.net cookies web-config session-state

这是我们面临的问题。

在托管环境设置中,我们多次托管同一个项目。我们目前在web.config的表单配置部分手动指定路径。但是,为了平滑我们的部署过程,我们希望根据虚拟目录名称设置路径。

我们有办法在web.config中动态设置Path吗?

1 个答案:

答案 0 :(得分:1)

FormsAuthentication.SetAuthCookie超载会将cookie路径作为参数,因此如果您自己处理登录过程,那么您只需传递您选择的路径。

问题是标准System.Web.UI.WebControls.Login将仅使用默认路径值。但是,您可以处理LoggedIn事件以修复路径......

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