gpt4 book ai didi

asp.net 'Remember me' 不再使用表单例份验证

转载 作者:行者123 更新时间:2023-12-04 06:48:11 26 4
gpt4 key购买 nike

我有两个具有自行编写的成员资格提供商的网站,它们托管在同一 Web 中不同 Web 应用程序和不同应用程序池中的同一台服务器上。

以前我遇到了问题,我无法同时登录两个站点。感谢 Remy 的 post ,这现在有效,我不得不添加 name - 归属于 forms元素。
但是现在我遇到了asp login-control 的remember-me 选项停止工作的问题。用户在正常 session 超时后注销。

web.config 文件中的 authentication-attributes 如下所示:

<authentication mode="Forms" >
<forms loginUrl="~/UserMgmt/Login.aspx" timeout="400000" slidingExpiration="true" name="NameOfTheSite"/>
</authentication>

我也将表单例份验证的 cookie 名称设置为不同的名称。

还有什么我必须添加的,以便记住我的功能起作用吗?

更新
我观察到,如果我禁用表单例份验证 cookie 的加密和验证,问题就消失了。如果我激活加密、验证或两者,问题就会新出现。
我也知道,它独立于 session cookie 名称(它们甚至可以相同)。也许这些信息可以帮助某人弄清楚发生了什么?

更新 1
感谢 Jason Kealey 解决了这个问题。我永远不会找到它。
同时我在msdn中找到了相应的信息。在
How To: Configure MachineKey in ASP.NET 2.0
在“Web Farm 部署注意事项”一节中写道:

如果要将您的应用程序与同一服务器上的其他应用程序隔离,请放置 <machineKey>在场中每台服务器上的每个应用程序的 Web.config 文件中。确保为每个应用程序使用单独的 key 值,但在场中的所有服务器上复制每个应用程序的 key 。

最佳答案

问题可能是您每次启动工作进程时都会自动生成验证 key 。 cookie 是加密的,但是当您回来时,将使用新的服务器端 key ,因此您的 cookie 无法解密。

查看 machineKey 部分
http://msdn.microsoft.com/en-us/library/ff649308.aspx

这是将为您生成 machineKey 部分的内容
http://www.qualitydata.com/products/aspnet-membership/help/configuration/no-machinekey.aspx

关于asp.net 'Remember me' 不再使用表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4728036/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com