你的问题太笼统了,没有太多线索,所以我可以给你一些继续前进的观点。
[1]还在domain
cookie 上设置 ,没有www.
,因此即使错误地丢失了 www 也可以读取和设置 cookie。
<httpCookies domain="yourdomain.com" httpOnlyCookies="true" requireSSL="true"/>
[2]您还需要设置<forms...
类似的参数(以及您设置的其他参数)
<forms name=".klidi" path="/" requireSSL="true" cookieless="UseCookies"
domain="yourdomain.com" enableCrossAppRedirects="false"
slidingExpiration="true" />
[3]你还需要设置<roleManager
类似的参数。
<roleManager enabled="true" cacheRolesInCookie="false" cookieProtection="All" cookieSlidingExpiration="true"
cookieTimeout="20" domain="yourdomain.com" cookieRequireSSL="true">
最后最重要的是在你的代码上设置这一行,然后再尝试设置或使用任何 cookie,看看你是否错误地没有使用安全连接https
。
Debug.Assert(HttpContext.Current.Request.IsSecureConnection, "With out https, cookie will not work");
通过设置最后一行,当您创建站点时,您可以在计算机上查看并诊断问题是否来自非安全连接,因为从您设置requireSSL
为 true 的那一刻起,任何简单的连接都不会保存任何 cookie。
如果 cookie 存在不安全并且您有任何冲突,请尝试清除您的 cookie,或者尝试其他浏览器。
您还可以阅读:一些黑客可以从用户那里窃取 cookie 并在网站上使用该名称登录吗?