0
我會嘗試使用登錄控制的Sql成員提供程序,但登錄控制創建自己的用戶,角色,應用程序....表,但只使用用戶表...登錄控制和Sql成員提供
我用aspnet_regsql用於添加表和模式,以我的數據庫使用SQL成員資格
如何配置SQL成員資格對於Login控件使用aspnet_regsql創建的表?
下面我web.config配置了供應商:
<membership defaultProvider="CrossReferenceWebSqlMembershipProvider">
<providers>
<add name="CrossReferenceWebSqlMembershipProvider" connectionStringName="CrossRef_DBConnectionString" enablePasswordRetrieval="false"
type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, 
 PublicKeyToken=31bf3856ad364e35" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true"
maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
applicationName="CrossReferenceWeb" />
</providers>
</membership>
<profile defaultProvider="CrossReferenceWebSqlProfileProvider">
<providers>
<clear />
<add name="CrossReferenceWebSqlProfileProvider" connectionStringName="CrossRef_DBConnectionString"
type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"
applicationName="CrossReferenceWeb" />
</providers>
</profile>
<roleManager enabled="true" defaultProvider="CrossReferenceWebSqlRoleProvider">
<providers>
<clear />
<add connectionStringName="CrossRef_DBConnectionString" applicationName="CrossReferenceWeb"
name="CrossReferenceWebSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
</providers>
</roleManager>
那麼,我試圖使用ASP.NET通用提供程序,但是當我使用ASP.NET配置工具正在尋找aspnet_regsql表和存儲過程...是posible解決方案嗎? – omixam
在您的代碼中,** roleManager **仍在使用舊程序集。 **類型**應該是'System.Web.Providers ...'。最簡單的方法是 - 使用**軟件包管理器控制檯**,然後輸入「PM>安裝軟件包Microsoft.AspNet.Providers」。請參閱Scott Hanselman的文章。 – Win
謝謝!我在一個空白的項目OpenAuth和通用提供程序測試,但我讀了兩種,但我不知道這是更好...我使用Web窗體與SQL程序不是實體框架....哪個更好?以及如何使用此技術管理角色? – omixam