0

有没有人有这方面的例子,从我读过的内容来看,umbraco 有点臭,但我找不到任何例子

4

2 回答 2

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的providers部分:

<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(使用 aspnet_regsql.exe 配置数据库)。

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

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

要配置数据库权限,请参考以下说明:配置 Umbraco 数据库安全性。重要的部分是将数据提供者的用户添加到:

  1. db_datareader
  2. db_datawriter
  3. db_ddladmin
  4. db_securityadmin
  5. 上市

如果您的配置文件看起来有点不同,您可能使用的是不同版本的 Umbraco。我在这个例子中使用 7.0.3。

于 2014-03-10T00:57:46.353 回答
0

您可以为前端的成员执行此操作,但不能为后端的用户执行此操作。这样做非常简单,只需更改 web.config 中的 providers 部分。我已经将 umbraco 与 SQlMembershipProvider 以及我自己实现的自定义会员提供程序一起使用。

于 2011-07-06T18:35:52.690 回答