这是我们面临的问题。
在托管环境设置中,我们多次托管同一个项目。我们目前在web.config的表单配置部分手动指定路径。但是,为了平滑我们的部署过程,我们希望根据虚拟目录名称设置路径。
我们有办法在web.config中动态设置Path吗?
答案 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";
}