2010-06-15 4 views
0

Quelqu'un at-il un exemple de cela, de ce que j'ai lu Umbraco coups de pied un peu d'une mauvaise odeur, mais je ne peux pas trouver des exemplesPeut-SqlMembershipProvider être utilisé avec Umbraco

+0

Tout fournisseur de services peut être utilisé dans umbraco, car il fait partie de asp.net –

+0

Vous cherchez à l'utiliser pour les membres ou les utilisateurs? – ProNotion

Répondre

0

Vous pouvez le faire pour les membres en front-end, mais pas les utilisateurs en back-end. Cela est très simple, il suffit de changer la section fournisseurs dans web.config. J'ai utilisé umbraco avec SQlMembershipProvider, ainsi que des fournisseurs de membres personnalisés que j'avais mis en place.

0

Oui, vous pouvez absolument utiliser le SqlMembershipProvider avec Umbraco. Tout d'abord, vous devez ajouter votre chaîne de connexion au fichier de configuration. Assurez-vous que le nom d'utilisateur et le mot de passe pour accéder à la base de données donneront un accès correct à Umbraco.

Deuxièmement, vous devez vous assurer que le fournisseur de données SqlClient est ajouté à l'article DbProviderFactories de system.data:

<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" /> 

Troisièmement, vous devez ajouter le SqlServerMembershipProvider à la section fournisseurs:

<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="" /> 

Assurez-vous que la chaîne de connexion référencée par votre fournisseur correspond à la chaîne de connexion que vous avez définie précédemment et donnez un nom approprié à l'application.

Quatrièmement, ajouter le SqlServerRoleProvider à la section fournisseurs de roleManager:

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

Cinquième, ajoutez dans la section fournisseurs de profie:

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

sixième, exécutez aspnet_regsql.exe sur votre base de données pour configurer la base de données pour utiliser le SqlMembershipProvider (Configuring the database with aspnet_regsql.exe). Septièmement, redémarrez IIS après avoir déployé le nouveau fichier de configuration. Assurez-vous que IIS est configuré pour utiliser le nouveau fournisseur.

Voici une autre ressource pour la configuration de la base de données: Configuring ASP.NET SqlMembershipProvider.

Pour configurer les autorisations de base de données, voici les instructions: Configuring Umbraco database security. L'important est d'ajouter l'utilisateur pour le fournisseur de données:

  1. db_datareader
  2. db_datawriter
  3. db_ddladmin
  4. db_securityadmin
  5. publique

Si votre fichier de configuration ressemble un peu différent, vous utilisez probablement une version différente d'Umbraco. J'utilise 7.0.3 pour cet exemple.

Questions connexes