Простой пользовательский членство в Asp.net - PullRequest
0 голосов
/ 14 июля 2011

В прошлом я использовал поставщика членства в SQL по умолчанию для защиты веб-сайта. Это работало хорошо, но требовало создания базы данных ASP_Authentication (с использованием инструмента reg_sql) и десятков таблиц / хранимых процедур и т. Д.

У меня теперь есть простой веб-сайт на хосте за 10 фунтов в месяц. Я получаю экземпляр SQL Server как часть сделки, но у меня нет возможности подключиться к нему через SQL Management Studio. Я не могу запустить инструмент reg_sql или даже взять скрипт из ранее созданной базы данных и запустить его.

На самом деле, база данных ASP_Authentication излишня для того, что мне нужно. Я просто был простым хранилищем имени пользователя и логина, с которым я могу проходить аутентификацию. Мне не нужны группы / роли и т. Д.

Кто-нибудь знает хорошую статью в блоге или похожую статью, в которой описано, как это сделать?

Большое спасибо

Rob.

Ответы [ 3 ]

0 голосов
/ 11 октября 2011

Не уверен, используете ли вы ASP.NET WebForms или MVC, но я создал пакет NuGet для включения SimpleMembership в ASP.NET MVC3: http://nuget.org/List/Packages/SimpleMembership.Mvc3

Это API SimpleMembership из ASP.NET WebPages / WebMatrix. Очень просто и полнофункционально.

Должно работать и с ASP.NET WebForms.

0 голосов
/ 30 августа 2012

Вы должны посмотреть на этот пост, который показывает особенности простого членства, которое подходит для вашего использования http://weblogs.asp.net/jgalloway/archive/2012/08/29/simplemembership-membership-providers-universal-providers-and-the-new-asp-net-4-5-web-forms-and-asp-net-mvc-4-templates.aspx

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

Я бы посоветовал вам придерживаться членства в SQL, если вы просто хотите простой механизм входа в систему. Вам не нужно использовать роли или любые дополнительные функции, такие как секретный вопрос / ответ.

через командную строку

Вы можете использовать инструмент aspnet_regsql локально, чтобы просто создавать сценарии sql. У вас должен быть доступ к какому-либо инструменту для управления базой данных, так что, возможно, вам этого будет достаточно?

Я написал статью об использовании этого инструмента через командную строку. Я также рассматриваю вопрос только добавления таблиц, которые вы действительно хотите использовать (нет необходимости в персонализации, веб-частях и т. Д. Таблиц).

Статья в моем блоге здесь:

Он не описывает, как вы можете записать сценарии sql в файл, но дает подсказку (он говорит, что вы можете использовать -? Для просмотра всех аргументов командной строки). Откройте окно командной строки (start | run | cmd | enter) и введите:

asp.net v2:

cd C:\Windows\Microsoft.NET\Framework\v2.0.50727\
aspnet_regsql.exe -sqlexportonly C:\aspnetmembership.sql -A mrp

asp.net v4:

cd C:\Windows\Microsoft.NET\Framework\v4.0.30319\
aspnet_regsql.exe -sqlexportonly C:\aspnetmembership.sql -A mrp

Если v4 не работает, посмотрите следующий и используйте последнюю папку v4.

Затем вы найдете файл с именем aspnetmembership.sql в корне диска C :, который вы можете использовать с любым управлением базой данных, которое они предоставляют.

Через код

Существует еще один вариант настройки таблиц, который обычно менее известен сообществу; вы можете сделать это с помощью метода в пространстве имен System.Web.Management. Я выучил эту технику в посте Peter Bromberg и держу его подальше. Это простой вкладыш:

Management.SqlServices.Install("server", "USERNAME", "PASSWORD", "databasename", SqlFeatures.All)

Остальную часть его совета вы можете прочитать здесь .

Поставщик нестандартного членства

Чтобы действительно ответить на ваш вопрос, в Интернете есть тонны статей, в которых объясняется, как создавать собственных провайдеров членства:

Если вы решили «свернуть свой собственный», тогда, пожалуйста, придерживайтесь плана и используйте платформу для членства, а не пишите свою собственную с нуля.

...