用户在 WWW 时未登录.在网址上
本文关键字:登录 WWW 用户 | 更新日期: 2023-09-27 18:21:26
如果我访问我的网站时没有 www. 前缀,登录然后添加 www.,我的用户不再登录,但如果我删除 www.,用户已登录。如果我做相反的事情,它的作用是一样的。转到具有 www. 的网站,登录,然后删除 www。用户将不会登录。
这是 web.config 上的登录方法和身份验证。
public static void LogIn(userId)
{
Item user = Framework.Business.Item.Load(userId);
var _ticket = new FormsAuthenticationTicket(1, _usrItm.ID, DateTime.Now, DateTime.Now.AddDays(30), true, _usrItm.ID);
string encTicket = FormsAuthentication.Encrypt(_ticket);
HttpContext.Current.Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket));
}
<authentication mode="Forms">
<forms name="k_Authentication" protection="All" timeout="120" cookieless="UseCookies" loginUrl="default.aspx" path="/" defaultUrl="/myweb.aspx"/>
</authentication>
我敢打赌,关于 cookie 域设置的两个答案是正确的 +1s 来自我。
然而。大多数情况下,这两个站点是相同的,或者不是。如果不是,那么您通常希望用户不再登录,因此不要更改任何内容。如果它们相同,则将一个设置为永久重定向到另一个。除了使这个问题消失之外,您还可以获得一些SEO好处,使人们的历史记录更加一致,并减轻共享缓存的压力。所以我建议这种方法。如果两者是分开但相关的,我只会处理 cookie 上设置的域的问题,并且在它们之间共享登录是合适的。
您的 cookie 域可能存在问题。 www.example.com
和example.com
不是同一个域。
必须将"域"属性设置为"手动www.yourdomain.com
"才能共享 Cookie。