0

Я попытаюсь использовать Поставщик членства Sql с Login Control, но в элементе управления Login создается собственный пользователь, роль, приложение .... таблицы, но используется только таблица пользователей ...Login Control and Sql Memberhip Provider

Я использовал aspnet_regsql для добавления таблицы и схемы в моей базе данных, чтобы использовать Sql Членство

Как настроить Sql членство в том, что Логин управления используются таблицы, созданные с помощью aspnet_regsql?

Ниже моей конфигурации web.config для поставщиков:

<membership defaultProvider="CrossReferenceWebSqlMembershipProvider"> 
    <providers> 

     <add name="CrossReferenceWebSqlMembershipProvider" connectionStringName="CrossRef_DBConnectionString" enablePasswordRetrieval="false" 
      type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, &#xD;&#xA; PublicKeyToken=31bf3856ad364e35" enablePasswordReset="true" requiresQuestionAndAnswer="true" requiresUniqueEmail="true" 
      maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" 
      applicationName="CrossReferenceWeb" /> 
    </providers> 
</membership> 

<profile defaultProvider="CrossReferenceWebSqlProfileProvider"> 
    <providers> 
    <clear /> 
    <add name="CrossReferenceWebSqlProfileProvider" connectionStringName="CrossRef_DBConnectionString" 
     type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" 
     applicationName="CrossReferenceWeb" /> 
    </providers> 
</profile> 

<roleManager enabled="true" defaultProvider="CrossReferenceWebSqlRoleProvider"> 
    <providers> 
    <clear /> 
    <add connectionStringName="CrossRef_DBConnectionString" applicationName="CrossReferenceWeb" 
     name="CrossReferenceWebSqlRoleProvider" type="System.Web.Security.SqlRoleProvider, System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> 
    </providers> 
</roleManager> 

ответ

0

aspnet_regsql устарела. Пожалуйста, используйте ASP.NET Universal Providers, который использует Entity Framework.

Для контроля входа в систему вам не нужно дополнительно настраивать. Логин автоматически подберет настройку, которую вы установили в Membership tag в web.config.

+0

Ну, я пытаюсь использовать ASP.NET Universal Providers, но когда я использую ASP.NET, инструменты настройки ищут таблицы aspnet_regsql и хранятся в процедуре ... Является ли это решением? – omixam

+1

В вашем коде ** roleManager ** все еще использует старую сборку. ** type ** должен быть «System.Web.Providers ...». Самый простой способ - использовать ** Консоль диспетчера пакетов ** и ввести «PM> install-package Microsoft.AspNet.Providers'. Пожалуйста, обратитесь к статье Скотта Гензельмана. – Win

+1

Спасибо! Я тестирую пустой проект OpenAuth и Universal Provider, но я читаю abot, но все же я не уверен, что лучше ... Я использую Web Forms с SQL-процедурами, а не с Entity Framework .... что лучше? и Как управлять ролями с помощью этих технологий? – omixam