C# 为什么我只有asp.net成员资格表的子集?
摘要: 我正在尝试使用asp.net成员资格、角色和配置文件,但在让代码使用aspnet_regsql.exe生成的表时遇到问题 我的尝试:C# 为什么我只有asp.net成员资格表的子集?,c#,asp.net,.net,sql,membership-provider,C#,Asp.net,.net,Sql,Membership Provider,摘要: 我正在尝试使用asp.net成员资格、角色和配置文件,但在让代码使用aspnet_regsql.exe生成的表时遇到问题 我的尝试: 在我的数据库上运行了aspnet_regsql.exe。这起作用了,所有的表都被创建了 称为Membership.CreateUser(“tester7”、“tester7”tester7@hi.com"); 然后创建以下表并将用户存储在dbo.Memberships而不是dbo.aspnet_Memberships中 dbo.应用程序 dbo.会员资格
Membership.CreateUser(“tester7”、“tester7”tester7@hi.com");代码>
- dbo.应用程序
- dbo.会员资格
- dbo.Profiles
- dbo.角色
- dbo.Users
- dbo.UsersInRoles
<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>
您的会员注册是什么样子的(web.config)?@四十二:我在上面编辑了我的会员注册,看起来您可能有一个以前实现的自定义会员提供程序,在注册过程中突袭并“窃取”您的测试用户。看起来正是这样。Candie在下面的回答给出了我的具体问题。这一切发生的原因是否仅仅是因为我使用System.Web.Providers.DefaultMembershipProvider而不是System.Web.Security.SqlMembershipProvider?@Kiwi是的,这就是问题的原因System.Web.Providers.DefaultMembershipProvider与Sql Compact和Azur应用程序一起使用。我假设我还需要在我的配置文件和roleManager配置部分中分别指定System.Web.Security.SqlRoleProvider和System.Web.Security.SqlProfileProvider?我很乐意帮助您,是的,您必须指定两个,成员身份才能管理用户,roleManager才能管理用户角色