2012-08-30 22 views
2

摘要: 我正在嘗試使用asp.net成員資格,角色和配置文件,但無法使我的代碼使用由aspnet_regsql.exe生成的表。爲什麼我只有asp.net成員資格表的子集?

我試了一下:

  1. aspnet_regsql.exe的跑我的數據庫。這工作,並創建了所有的表。
  2. 調用Membership.CreateUser("tester7","tester7","[email protected]");

然後,這創建了下面的表和存儲在dbo.Memberships代替dbo.aspnet_Memberships用戶。

  • dbo.Applications
  • dbo.Memberships
  • dbo.Profiles
  • dbo.Roles
  • 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> 
+0

您的會員註冊看起來像什麼(web.config)? –

+0

@四十二:我編輯上面包括我的會員註冊 –

+1

看起來你可能有一個以前實施的自定義會員供應商,在註冊過程中可以俯衝並「竊取」你的測試用戶。 –

回答

1

必須在您的配置文件

System.Web.Providers.DefaultMembershipProvider增加註冊部分是對SQL精簡和海岸應用

您有會員資格以及角色經理的其他資料

<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> 
+0

這是否僅僅是因爲我使用了System.Web.Providers.DefaultMembershipProvider而不是System.Web.Security.SqlMembershipProvider? –

+0

@Kiwi是的,這就是你的問題的原因 –

+1

System.Web.Providers.DefaultMembershipProvider是與Sql Compact和Azur應用程序 –