Можно ли использовать SQlMembershipProvider с umbraco? - PullRequest
0 голосов
/ 15 июня 2010

У кого-нибудь есть примеры этого, из того, что я читал, umbraco немного воняет, но я не могу найти никаких примеров

Ответы [ 2 ]

0 голосов
/ 10 марта 2014

Да, вы абсолютно можете использовать SqlMembershipProvider с Umbraco.Во-первых, вы должны добавить строку подключения в файл конфигурации.

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

Убедитесь, что имя пользователя и пароль для доступа к базе данных действительно обеспечат надлежащий доступ к Umbraco.

Во-вторых, вы должны убедиться, что поставщик данных SqlClient добавлен в раздел DbProviderFactoriessystem.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" />  

В-третьих, вы должны добавить 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 ( Настройка базы данных с помощью aspnet_regsql.exe ).

Седьмое, перезапустите IIS послевыкатывая новый конфигурационный файл.Убедитесь, что IIS настроен для использования нового поставщика.

Вот еще один ресурс для настройки базы данных: Настройка ASP.NET SqlMembershipProvider .

Чтобы настроить разрешения для базы данных, вот инструкции: Настройка безопасности базы данных Umbraco .Важной частью является добавление пользователя для поставщика данных в:

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

Если ваш конфигурационный файл выглядит немного иначе, вы, вероятно, используете другую версию Umbraco.Я использую 7.0.3 для этого примера.

0 голосов
/ 06 июля 2011

Вы можете сделать это для участников в интерфейсе, но не для пользователей в фоновом режиме.сделать это очень просто, просто измените раздел провайдеров в web.config.Я использовал umbraco с SQlMembershipProvider, а также провайдеров нестандартного членства, которые я реализовал самостоятельно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...