Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我只有asp.net成员资格表的子集?_C#_Asp.net_.net_Sql_Membership Provider - Fatal编程技术网

C# 为什么我只有asp.net成员资格表的子集?

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.会员资格

摘要: 我正在尝试使用asp.net成员资格、角色和配置文件,但在让代码使用aspnet_regsql.exe生成的表时遇到问题

我的尝试:

  • 在我的数据库上运行了aspnet_regsql.exe。这起作用了,所有的表都被创建了
  • 称为
    Membership.CreateUser(“tester7”、“tester7”tester7@hi.com");
  • 然后创建以下表并将用户存储在dbo.Memberships而不是dbo.aspnet_Memberships中

    • dbo.应用程序
    • dbo.会员资格
    • dbo.Profiles
    • dbo.角色
    • dbo.Users
    • 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>
    
    
    
    您的会员注册是什么样子的(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才能管理用户角色