Можно ли использовать другое имя базы данных с SqlMembershipProvider? - PullRequest
1 голос
/ 15 сентября 2009

Можно ли указать базу данных, отличную от ASPNETDB, используя SqlMembershipProvider? Я разрабатываю сайт на общедоступном хосте, и мне нужно ограничить мою схему данных единственной предоставленной базой данных.

В последний раз я был резко отруган, когда предложил использовать собственный код аутентификации.

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

Ответы [ 2 ]

4 голосов
/ 15 сентября 2009

Вы можете установить схему членства ASP.Net в любую базу данных SQL с помощью инструмента командной строки aspnet_regsql.

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

<connectionStrings>
    <add name="MyConnectionString" connectionString="Database=MyDatabase;Server=xxx;User=xxx;Pwd=xxx;" providerName="System.Data.SqlClient"/>

</connectionStrings> 

<membership defaultProvider="MyProvider">
      <providers>
        <add connectionStringName="MyConnectionString" applicationName="/Test"
    description="MyProvider" name="MyProvider" type="SqlMembershipProvider" />
      </providers>
</membership> 
1 голос
/ 26 апреля 2011

Предыдущий ответ в значительной степени правильный, но у меня была проблема, пока я полностью не определил значение «Тип» как «System.Web.Security.SqlMembershipProvider».

<membership defaultProvider="MyProvider">
  <providers>
    <add connectionStringName="MyProvider"
         applicationName="/Test"
         description="MyProvider"
         name="MyProvider"
         type="System.Web.Security.SqlMembershipProvider" />
  </providers>
</membership>
...