我试图让它发挥作用,并且我已经查看了对此问题的其他帖子的回复。我已遵循故障排除建议,但没有帮助。我刚刚将以前使用数据库中的用户名和密码表的身份验证方法更改为使用随
regsql.exe
程序安装的会员资格提供程序。
我还没有碰过我的
web.config
并且该实例是正确的,因为它对于连接字符串工作得很好。它与始终连接到数据库的 SQL Server Management Studio 完全相同。
因此,我在
web.config
文件中为提供者和角色管理器添加了一些代码块。我已根据数据库名称仔细检查了应用程序,它是正确的applicationName="ScotKingCPA"
。
哪些问题会导致它无法工作?
我收到了主题中的错误消息以及 If
Membership.ValidateUser(Login1.UserName.Trim, Login1.Password.Trim)
登录页面代码后面以红色突出显示。
<membership>
<providers>
<!-- Add a customized SqlMembershipProvider -->
<add name="PWCSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider"
connectionStringName="SqlConnectionString"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="ScotKingCPA"
requiresUniqueEmail="true"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""/>
</providers>
</membership>
<roleManager enabled="true" defaultProvider="PWCSqlRoleProvider"
cacheRolesInCookie="true" createPersistentCookie="false"
cookieProtection="All">
<providers>
<add name="PWCSqlRoleProvider"
type="System.Web.Security.SqlRoleProvider"
applicationName="ScotKingCPA"
connectionStringName="SqlConnectionString"/>
</providers>
</roleManager>
我的解决方案是采用一个全新的数据库并通过 aspregsql.exe 将成员资格提供程序表应用到其中。它解决了问题。