总结: 我正在尝试使用 asp.net 成员资格、角色和配置文件,但在让我的代码使用由 aspnet_regsql.exe 生成的表时遇到了问题。
我尝试了什么:
- 在我的数据库上运行 aspnet_regsql.exe。这行得通,所有表都已创建。
- 已调用
Membership.CreateUser("tester7","tester7","tester7@hi.com");
这随后创建了下表并将用户存储在 dbo.Memberships 而不是 dbo.aspnet_Memberships 中。
- dbo.Applications
- dbo.Memberships
- dbo.Profiles
- dbo.角色
- dbo.用户
- dbo.UsersInRoles
它完全忽略了 aspnet_regsql.exe 创建的表。
为什么会发生这种情况,我可以做些什么来定位到 aspnet_* 表?
编辑以包含 Web.config 成员注册
<membership defaultProvider="ProjectMembershipProvider">
<providers>
<add name="ProjectMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider,..." connectionStringName="ProjectSql" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="Project" />
</providers>
</membership>
最佳答案
你必须在你的配置文件中添加注册部分
System.Web.Providers.DefaultMembershipProvider 在 Sql Compact 和 Azur 应用上
您有成员资格部分和角色经理部分
<membership>
<providers>
<add
name="AspNetSqlMembershipProvider"
type="System.Web.Security.SqlMembershipProvider, ..."
connectionStringName="LocalSqlServer"
enablePasswordRetrieval="false"
enablePasswordReset="true"
requiresQuestionAndAnswer="true"
applicationName="/"
requiresUniqueEmail="false"
passwordFormat="Hashed"
maxInvalidPasswordAttempts="5"
minRequiredPasswordLength="7"
minRequiredNonalphanumericCharacters="1"
passwordAttemptWindow="10"
passwordStrengthRegularExpression=""
/>
</providers>
</membership>
关于c# - 为什么我只有一部分 asp.net 成员表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12203495/