Membership.ValidateUser 方法适用于开发服务器(iis express 和 cassini)。但是在我的 IIS 上(它作为我的开发机器上的应用程序发布)它总是返回false。
即使用户被批准,没有被锁定并且用户名和密码正确。没有跟踪错误。?
http请求1: davutg-pc:6423 /BpmService/Login?userName=abc&password=0035
结果1: <boolean> true </boolean>
http请求2: davutg-pc/BPM/BpmService/Login?userName=abc&password=0035
结果2: <布尔>假</布尔>
这是我的设置
<roleManager enabled="true" defaultProvider="MySQLRoleProvider"/>
<machineKey validationKey="E8B40EEA5A8EFC6F...key" decryptionKey="385..." validation="SHA1" />
<membership defaultProvider="MySQLMembershipProvider" hashAlgorithmType="SHA1">
<providers>
<remove name="MySQLMembershipProvider" />
<add type="MySql.Web.Security.MySQLMembershipProvider, MySql.Web, Version=6.5.5.0, Culture=neutral,
PublicKeyToken=c5687fc88969c44d"
name="MySQLMembershipProvider"
connectionStringName="LocalMySqlServer"
minRequiredPasswordLength="3"
minRequiredNonalphanumericCharacters="0"
requiresUniqueEmail="false"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"/>
我比较了 machine.configs 是相同的 Framework 64 和 Framework。
它适用于开发服务器,但在 IIS 上总是返回 false。我可以用 IIS查询不同的服务,没有这样的问题。
另外: 当我输入错误密码时,开发服务器的“FailedPasswordAttemptCount”会增加。但它不会改变 IIS。IIS 出了什么问题。我只是打电话给 Membership.ValidateUser(user,pass)
任何建议将不胜感激!