我有两个网站的自写会员提供者,是在同一服务器上的同一服务器,在不同的Web应用程序和不同的应用程序池的主机。
以前我有一个问题,那就是我不能同时登录两个网站。多亏了雷米的帖子,现在,我不得不将name-attribute添加到forms元素中。
但是现在我遇到了一个问题,即asp登录控件的me me选项停止工作。用户在正常会话超时后被注销。
web.config文件中的身份验证-属性如下所示:
<authentication mode="Forms" >
<forms loginUrl="~/UserMgmt/Login.aspx" timeout="400000" slidingExpiration="true" name="NameOfTheSite"/>
</authentication>我还将表单的cookie名称设置为不同的名称。
还有什么是我必须添加的,这样记忆-我的功能才能工作吗?
更新
我观察到,如果禁用表单身份验证-cookie的加密和验证,问题就解决了。如果我要么激活加密、验证或两者兼而有之,问题就新出现了。
我也知道,它独立于会话-cookie名称(它们甚至可以是相同的)。也许这些信息能帮人弄清楚到底怎么回事?
更新1
感谢贾森·凯里为解决这个问题所做的努力。我永远也找不到它。同时,我在msdn中找到了相应的信息。在如何:在MachineKey 2.0中配置ASP.NET中,编写了“网络场部署注意事项”一节中的内容:
如果要将应用程序与同一服务器上的其他应用程序隔离开来,请将<machineKey>放在场中每个服务器上的每个应用程序的Web.config文件中。确保为每个应用程序使用单独的键值,但在场中的所有服务器上复制每个应用程序的密钥。
发布于 2011-01-28 22:01:12
问题可能是,每次启动辅助进程时,都会自动生成验证键。cookie是加密的,但当您返回时,将使用一个新的服务器端密钥,因此您的cookie无法解密。
查看machineKey节http://msdn.microsoft.com/en-us/library/ff649308.aspx
下面是一些将为您生成machineKey部分的http://www.qualitydata.com/products/aspnet-membership/help/configuration/no-machinekey.aspx
发布于 2011-01-28 07:04:57
尝试设置域名,以确保在所有情况下都正确设置了记忆的cookie。
<forms path="/" domain="nameof.com" ...the rest发布于 2011-01-28 22:39:28
cookie超时也受到IIS的限制,默认为20分钟左右。要改变这一点:

https://stackoverflow.com/questions/4728036
复制相似问题