SQlMembershipProvider可以与umbraco一起使用

时间:2010-06-15 15:59:10

标签: asp.net umbraco member

有没有人有这样的例子,从我读过的umbraco开始有点臭,但我找不到任何例子

2 个答案:

答案 0 :(得分:0)

您可以为前端的成员执行此操作,但不能为后端的用户执行此操作。这样做非常简单,只需更改web.config中的providers部分即可。 我使用了umbraco和SQlMembershipProvider,以及我自己实现的自定义成员资格提供者。

答案 1 :(得分:0)

是的,您绝对可以将SqlMembershipProvider与Umbraco一起使用。首先,您必须将连接字符串添加到配置文件中。

 <add name="umbracoDbDSN" connectionString="Server=myhost.myexampledomain.com;Database=mydatabasename;User Id=myuserid; Password=myhardtobreakpassword;" providerName="System.Data.SqlClient" />

确保访问数据库的用户名和密码实际上可以正确访问Umbraco。

其次,您必须确保将SqlClient数据提供程序添加到system.data的DbProviderFactories部分:

<add name="SqlClient Data Provider"
           invariant="System.Data.SqlClient"
           description=".Net Framework Data Provider for SqlServer"
           type="System.Data.SqlClient.SqlClientFactory, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />  

第三,必须将SqlServerMembershipProvider添加到providers部分:

<add name="SqlServerMembershipProvider"
          type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          connectionStringName="umbracoDbDSN"
          requiresQuestionAndAnswer="false"
          applicationName="MyUniqueUmbracoApplication"
          requiresUniqueEmail="true"
          passwordFormat="Hashed"
          maxInvalidPasswordAttempts="5"
          minRequiredPasswordLength="7"
          minRequiredNonalphanumericCharacters="0"
          passwordAttemptWindow="10"
          passwordStrengthRegularExpression="" />  

确保从提供程序引用的连接字符串与先前定义的连接字符串匹配,并为应用程序指定适当的名称。

第四,将SqlServerRoleProvider添加到roleManager的providers部分:

<add name="SqlServerRoleProvider"
          type="System.Web.Security.SqlRoleProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
          connectionStringName="umbracoDbDSN"
          applicationName="MyUniqueUmbracoApplication"
          />

第五,将它添加到profie的提供者部分:

<add name="SqlProfile" type="System.Web.Profile.SqlProfileProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" connectionStringName="umbracoDbDSN" applicationName="MyUniqueUmbracoApplication" />

第六,在数据库上运行aspnet_regsql.exe以设置数据库以使用SqlMembershipProvider(Configuring the database with aspnet_regsql.exe)。

第七,在推出新的配置文件后重启IIS。确保IIS已设置为使用新提供程序。

这是配置数据库的另一个资源:Configuring ASP.NET SqlMembershipProvider

要配置数据库权限,请按以下说明操作:Configuring Umbraco database security。重要的是将数据提供者的用户添加到:

  1. db_datareader
  2. db_datawriter
  3. db_ddladmin
  4. db_securityadmin
  5. 公共
  6. 如果您的配置文件看起来有点不同,您可能会使用不同版本的Umbraco。我在这个例子中使用7.0.3。