2010-06-15 22 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。