1

我想使用完整的 SQL Server 2005 作为我的角色提供者的数据存储。

我使用向导安装了 aspnetdb。

在我的应用程序中,我添加了以下连接字符串

<connectionStrings>
            <clear/>
        <add name="LocalSqlServer" connectionString="Data Source=localhost;Initial Catalog=aspnetdb;Integrated Security=True" providerName="System.Data.SqlClient"/>
    </connectionStrings>

然后我将我的角色提供者配置如下:

<roleManager enabled="true">
            <providers>
                <clear/>
                <add name="AspNetSqlRoleProvider" connectionStringName="LocalSqlServer"

                applicationName="/MyApp"

                type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />


            </providers>
        </roleManager>

我像这样以编程方式创建角色:

if (Roles.RoleExists("RoleName"))
                        Roles.CreateRole("RoleName");

但是当我从 SQL 管理工作室检查我的 aspnetdb 时,我发现表aspnet_Roles没有记录,并且没有插入角色。

那么这些步骤有什么问题或缺少什么吗?

谢谢

4

1 回答 1

1

你有错别字,你不见了!(如果它不存在,创建它):

if (!Roles.RoleExists("RoleName"))
                        Roles.CreateRole("RoleName");
于 2011-01-20T11:14:26.350 回答