c# - 是否可以*仅**跨子域共享表单例份验证?

标签 c# asp.net asp.net-mvc forms-authentication

我知道我可以使用以下 Web.config 设置在 2 个子域 sub1.domain.comsub2.domain.com 之间共享表单例份验证:

<authentication mode="Forms">
    <forms domain="domain.com" />
</authentication>

但是,我有 2 个“子子”域(不确定是否有更好的术语)a.sub.domain.comb.sub.domain。 com。现在我想在 sub.domain.com共享表单例份验证 cookie,我的整个 domain.com。可以这样做吗?

我尝试了下面明显的解决方案,但它不起作用,并且总是重定向回登录页面:

<authentication mode="Forms">
    <forms domain="sub.domain.com" />
</authentication>

是否可以在以 sub.domain.com 结尾的域之间共享 cookie?

最佳答案

原来我浏览器中的旧 cookie 与新设置有某种冲突。

清除所有 domain.com cookie 后,我正在尝试的解决方案现在有效,以防有人遇到类似情况。

另请注意,我认为最好在域前加上 .:

<authentication mode="Forms">
    <forms domain=".sub.domain.com" />
</authentication>

关于c# - 是否可以*仅**跨子域共享表单例份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18462755/

相关文章:

asp.net-mvc - ASP.NET MVC 2.0 中的 OutputCache 和日志记录

asp.net-mvc - MembershipProvider类

c# - 在控制台应用程序中禁用粘贴

c# 函数未被调用

c# - 允许在事务运行时选择

asp.net - 如何在 Linux/Mac 中部署 ASP.NET 5/.NET Core?

c# - 按钮和 ListView

c# - 如何处理 session 保持打开状态

c# - .net 比 java 快

c# - 类型与创建 CLR 存储过程不匹配