我们有一个奇怪的情况。我们在web.config中有以下内容:
<authentication mode="Forms">
<forms name="ASPDNSFGUID" loginUrl="SignIn.aspx" timeout="525600" /></authentication>
这是一个电子商务应用,Cookie用于帮助我们确保在登录后保留购物篮的内容,但这不起作用。我们之前已经使用过这几十次而没有问题。
该网站托管在两个位于土狼点负载均衡器后面的前端Web服务器上。我们注意到,当通过HTTPS查看网站时,cookie就在那里,身份验证类型就是表单。但是,当我们浏览非安全时,cookie丢失并且未设置身份验证类型。我们知道这一点,因为我们创建了一个页面来打印出我们的所有标题。
有没有人对可能的原因有任何想法?我们想知道负载均衡器是否正在剥离cookie,但我们没有证据证明这一点,只是一种直觉感觉
答案 0 :(得分:0)
我们注意到,当通过HTTPS查看网站时,cookie就是 在那里,身份验证类型是表单。但是,当我们浏览时 非安全,cookie丢失,身份验证类型不丢失 组。
当您在requireSSL="true"
标记上设置<forms >
时会发生这种情况。
您如何尝试在domain="yourdomain.com"
代码中声明<forms >
,而不使用子域www.
,因为这可能会影响Cookie。
首先尝试这个
<forms name="ASPDNSFGUID" domain="yourdomain.com" loginUrl="SignIn.aspx"
timeout="525600" />
然后尝试查看是否已通过编程方式设置requireSSL。
答案 1 :(得分:0)
cookie是否设置为https,如果是,则在同一域上是https和http,但只有协议不同?即https://www.somesite.com和http://www.somesite.com
因为,如果他们有不同的子域,除非您在web.config中的<forms>
元素中指定domain =“somesite.com”,否则您将遇到问题