迁移的基于ASP.NET成员资格的应用程序赢得';不认证

迁移的基于ASP.NET成员资格的应用程序赢得';不认证,asp.net,asp.net-membership,membership-provider,Asp.net,Asp.net Membership,Membership Provider,我有一个使用成员资格提供程序的ASP.NET应用程序。我刚刚将应用程序和相关数据库复制到新服务器,现在无法登录。我已经确认数据库连接字符串是正确的,并且应用程序可以与数据库通信-问题出在成员资格提供商的某个地方 在两台服务器上,应用程序都设置为使用ASP.NET 4.0;旧服务器运行的是IIS 7.0,新服务器运行的是IIS 7.5。该应用程序是使用Web部署工具复制的,因此在两台服务器上都是相同的 阅读后-这似乎准确地描述了问题,并表明问题可能是由于每个服务器上的applicationName

我有一个使用成员资格提供程序的ASP.NET应用程序。我刚刚将应用程序和相关数据库复制到新服务器,现在无法登录。我已经确认数据库连接字符串是正确的,并且应用程序可以与数据库通信-问题出在成员资格提供商的某个地方

在两台服务器上,应用程序都设置为使用ASP.NET 4.0;旧服务器运行的是IIS 7.0,新服务器运行的是IIS 7.5。该应用程序是使用Web部署工具复制的,因此在两台服务器上都是相同的

阅读后-这似乎准确地描述了问题,并表明问题可能是由于每个服务器上的
applicationName
属性设置不同所致-我检查了新旧服务器,并确认配置中的
applicationName
设置为相同的值(“/”)在两台服务器上-以下是
下的完整配置条目:

表示密码是散列的,而不是加密的

尽管如此,我还是调查了是否可以将machineKey从一台服务器复制到另一台服务器,但是旧服务器设置为AutoGenerate,所以我不知道这是否可行。如果是的话,我认为这不会有什么帮助,因为(好吧)machineKey没有参与哈希运算

最后一件事-处理此问题的应用程序位于另一个应用程序的子文件夹中。我不认为这有什么区别,但我想我应该提一下。子应用程序未设置为IIS中的应用程序,它只是一个文件夹


总而言之,我不知道该如何进行。据我所知,该应用程序(在两台服务器上)正在对密码进行散列,而不是加密,因此它应该只是移动到另一台服务器上。如果您能提供有关检查内容的建议,我将不胜感激。

您能否创建一个新用户并检查该新用户是否能够进行身份验证?抱歉,耽搁了。是的,我刚刚尝试过这个,新用户可以很好地进行身份验证,所以很明显,在某些地方有一些不同的密钥。我还尝试从旧服务器获取机器密钥并将其添加到web.config文件中,这也没有什么不同。
<add name="AspNetSqlMembershipProvider" 
 type="System.Web.Security.SqlMembershipProvider"
 connectionStringName="Default"
 enablePasswordRetrieval="false"
 enablePasswordReset="true"
 requiresQuestionAndAnswer="false"
 requiresUniqueEmail="false"
 maxInvalidPasswordAttempts="5"
 minRequiredPasswordLength="6"
 minRequiredNonalphanumericCharacters="0"
 passwordAttemptWindow="10"
 applicationName="/" />