2010-06-15 75 views
0

使用没有任何人有这方面的一个例子,从我读过一把umbraco踢起来有点臭,但我找不到任何例子能否SqlMembershipProvider的用一把umbraco

+0

任何mmbership提供者都可以在umbraco里面使用,因为它是asp.net的一部分 – 2010-07-29 02:27:19

+0

你是否想要为会员或用户使用它? – ProNotion 2011-03-08 14:37:00

回答

0

可以为会员做在前端,而不是后端的用户。这样做很容易,只需更改web.config中的提供程序部分即可。 我使用了带有SQlMembershipProvider的umbraco,以及我自己实现的自定义会员供应商。

0

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

<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添加到供应商部分:

<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的供应商部分:

<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. 公共

如果你的配置文件看起来有点不同的是,你可能会使用不同版本的Umbraco。本例使用7.0.3。