我有一个简单的 CLI 应用程序来创建/更新/删除 SqlMembershipProvider 的用户。它可以工作,我可以从 CLI 应用程序中很好地验证。
但是,一旦我尝试从相关的 asp.net 应用程序执行此操作,它就会失败。我已经复制/粘贴了相关的 web.conf/app.config 部分,所以我不知道它为什么会失败。
<machineKey validationKey="C94FA3782AAF21E932CAA92DC2A0641951E3A76E50DD25B19C627BA01E259C6CBC7839A7803A59EF3BF855152369A6AB10CC259513BE7ACA4E842B962FD1D8A4"
decryptionKey="2EA6D270AD94361ECFDCED5070D76FD67D9A147FEEBC8388FE9B73B450A04560"
validation="SHA1"
decryption="AES" />
<membership defaultProvider="MembershipProvider">
<providers>
<add name="MembershipProvider" type="System.Web.Security.SqlMembershipProvider"
connectionStringName="ApplicationServices"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="false"
requiresUniqueEmail="false"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="1"
minRequiredNonalphanumericCharacters="0"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
这在 web.config 和 app.config 中都有,有人可以解释为什么这将在 CLI 项目而不是 asp.net 项目中验证吗?
需要明确的是,这里是不是验证的代码
Membership.ValidateUser("fake", "fake") // actual test un/pwd combo
我已经验证 un/pwd 实际上是正确的。