2011-01-20 113 views
1

我想使用Full SQL Server 2005作为我的角色提供者的数据存储。ASP.NET角色提供者:使用sql server而不是sql express?

我使用向导安装了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没有记录,并且没有插入的角色。

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

感谢

+0

你想这个问题被删除? – Gumbo 2011-01-20 15:04:34

回答

1

你有一个错字,你错过了! (如果它不存在,创建它):

if (!Roles.RoleExists("RoleName")) 
         Roles.CreateRole("RoleName"); 
+0

你是对的这是一个愚蠢的错误:)谢谢 – 2011-01-20 11:23:09