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

Asp.net 在表单身份验证中动态设置路径,asp.net,cookies,web-config,session-state,Asp.net,Cookies,Web Config,Session State,这是我们面临的问题 在托管环境设置中,我们多次托管同一项目。目前,我们在web.config的forms config部分手动指定了一个路径。但是,为了简化部署过程,我们希望根据虚拟目录名设置路径 我们有没有办法在web.config中动态设置路径?FormsAuthentication.SetAuthCookie中有一个重载,它将cookie路径作为参数,因此如果您自己处理登录过程,那么您可以传递您选择的路径 问题是标准的System.Web.UI.WebControls.Login将只使用默

这是我们面临的问题

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


我们有没有办法在web.config中动态设置路径?

FormsAuthentication.SetAuthCookie中有一个重载,它将cookie路径作为参数,因此如果您自己处理登录过程,那么您可以传递您选择的路径

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

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

FormsAuthentication.SetAuthCookie的
重载将cookie路径作为参数,因此如果您自己处理登录过程,则可以传递您选择的路径

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

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

我会在早上上班的时候测试这个,谢谢!虽然这样做有效,但我在这里找到了一个稍微好一点的解决方案:@StevenMcD尝试了你的链接。。。似乎不太活跃。你能重新发布一个有效的吗?我会在早上上班的时候测试这个,谢谢!虽然这样做有效,但我在这里找到了一个稍微好一点的解决方案:@StevenMcD尝试了你的链接。。。似乎不太活跃。你能再贴一张有效的吗?