asp.net 'Remember me'在表单认证中不再工作了

 2023-02-16    347  

问题描述

我有两个带有自书面成员资格提供商的网站,它们在同一网络中的同一家服务器上的主机在不同的网络应用程序和不同的应用程序池中.

以前我遇到了问题,我无法一起在两个站点上登录.感谢Remy的 post ,这现在有效,我不得不将name -atibute添加到forms元素.
但是现在我有一个问题,即记住我的ASP登录控制的选项停止工作.正常会话时间之后,用户将被记录.

web.config文件中的身份验证 – 属性如下:

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

还让我将表单认证的cookie名称设置为不同的名称.

我还必须添加其他内容,以便记住我的功能有效吗?

更新
我已经观察到,如果我禁用对形式的身份验证 – 奇科的加密和验证,则问题就消失了.如果我要么激活加密,验证或两者兼而有之,问题是新发生的.
我也知道,它独立于会议 – 熟人名称(它们甚至可能是相同的).也许此信息可以帮助某人弄清楚发生了什么?

更新1
感谢Jason Kealey解决了这个问题.我永远不会找到它.
同时,我在MSDN中找到了相应的信息.在
如何:在ASP.NET 2.0 中配置MachineKey
在”网络农场部署注意事项”部分中:

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

推荐答案

问题可能是您每次启动工作过程时都会自动生成验证密钥. cookie已加密,但是当您回来时,使用了一个新的服务器端键,因此无法解密您的cookie.

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

这是可以为您生成MachineKey部分的东西
-Membership/help/configuration/no-machinekey.aspx

其他推荐答案

尝试设置域名以确保在所有情况下都正确设置了记忆的cookie

<forms  path="/" domain="nameof.com" ...the rest

其他推荐答案

cookie超时也受IIS的限制,默认值为低约20分钟.
更改此:

  1. 打开IIS经理.
  2. 右键单击您的网站并选择
    属性.
  3. 选择ASP.NET选项卡,然后单击
    编辑配置.
  4. 选择”身份验证”选项卡.
  5. 选择”启用滑动到期”.
  6. 将cookie超时设置为更长
    价值.设置为30
    几天,输入
    30.00:00:00.
  7. 单击确定并退出IIS经理.

在此处输入图像说明

以上所述是小编给大家介绍的asp.net 'Remember me'在表单认证中不再工作了,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/33932.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。