C# ASP.Net成员资格:保存在不同数据库上的角色
我正在学习如何操纵会员制课程 我已经使用aspnet_regsql.exe将会员数据库添加到我网站的SQL数据库中,到目前为止,我可以毫无问题地列出和添加用户。但是,我决定使用ASP.Net配置工具添加一些角色。角色已添加,但未显示在我的SQL数据库的aspnet_roles表中 此后,我注意到该网站的VS2010 App_数据文件夹中有ASPNETDB.MDF,其中出现了角色。用户不在该数据库中,但在my web.config文件中配置的SQL DB中:C# ASP.Net成员资格:保存在不同数据库上的角色,c#,asp.net,asp.net-membership,C#,Asp.net,Asp.net Membership,我正在学习如何操纵会员制课程 我已经使用aspnet_regsql.exe将会员数据库添加到我网站的SQL数据库中,到目前为止,我可以毫无问题地列出和添加用户。但是,我决定使用ASP.Net配置工具添加一些角色。角色已添加,但未显示在我的SQL数据库的aspnet_roles表中 此后,我注意到该网站的VS2010 App_数据文件夹中有ASPNETDB.MDF,其中出现了角色。用户不在该数据库中,但在my web.config文件中配置的SQL DB中: <configuration&g
<configuration>
<connectionStrings>
<add name="myConnString" connectionString="Data Source=SQLDB;Initial Catalog=myDatabase;User ID=myUser;Password=myPassword" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<authentication mode="Forms" />
<compilation debug="true" targetFramework="4.0">
<assemblies>
<add assembly="System.Web.DataVisualization, Version=4.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</assemblies>
</compilation>
<machineKey validationKey="LOTSOFNUMBERS"
decryptionKey="MORENUMBERS" validation="SHA1" decryption="AES"/>
<membership defaultProvider="SqlProvider">
<providers>
<clear/>
<add name="SqlProvider"
connectionStringName="myConnString"
type="System.Web.Security.SqlMembershipProvider"
applicationName="myApp"
requiresUniqueEmail="true"
minRequiredPasswordLength="8"
minRequiredNonalphanumericCharacters="0"
requiresQuestionAndAnswer="false"
passwordFormat="Encrypted"
enablePasswordRetrieval="true"
/>
</providers>
</membership>
<roleManager enabled="true" />
<pages theme="myTheme">
</pages>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</configuration>
如果可以在我的数据库上使用ASP.Net配置工具保存、修改和删除用户,那么我希望角色也这样做?我缺少什么步骤?您需要设置角色提供程序配置,就像您的成员资格提供程序一样
<roleManager enabled="true" defaultProvider="TheRoleProvider">
<providers>
<clear/>
<add name="TheRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="myConnString"
applicationName="/"/>
</providers>
</roleManager>
您需要设置角色提供程序配置,就像您的成员资格提供程序一样
<roleManager enabled="true" defaultProvider="TheRoleProvider">
<providers>
<clear/>
<add name="TheRoleProvider"
type="System.Web.Security.SqlRoleProvider"
connectionStringName="myConnString"
applicationName="/"/>
</providers>
</roleManager>
您缺少角色管理器。以下是一个例子:
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="myConnString" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
您缺少角色管理器。以下是一个例子:
<roleManager enabled="true">
<providers>
<clear />
<add connectionStringName="myConnString" applicationName="/" name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
<add applicationName="/" name="AspNetWindowsTokenRoleProvider" type="System.Web.Security.WindowsTokenRoleProvider" />
</providers>
</roleManager>
您需要在web.config中配置RoleProvider以使用与MembershipProvider相同的数据源。您需要在web.config中配置RoleProvider以使用与MembershipProvider相同的数据源。谢谢vucetica。最高答案!我不仅错过了一步,还错过了一整段楼梯!谢谢你,武塞蒂卡。最高答案!我不仅错过了一步,还错过了一整段楼梯!