AspNet_UserManager - компонент сайта для управления пользователями.
Эта страничка посвящена одной из моих платных программ - AspNet_UserManager. Несмотря на то, что программа платная, отдельные ее компоненты представлены у меня на сайте в виде OpenSource - Защита параметров странички от подделки. Кроме того, для MySQL это решение распространяется в виде OpenSource - Избавляемся от базы стандартных пользователей ASP.NET на MS SQL - пример ASP.NET сайта на MySQL.
Обратите вниманием - сайт управления пользователями полностью работоспобен в Demo-версии. А иногда выдаваемые в javascript-овские alert(); совершенно не мешают работать в Demo-версии (в активированной версии этих алертов конечно нет).
Кроме того, стоимость этого сайта чисто символическая - $10.
Этот сайт-админка представляет собой востребованный на практике комплект функциональности: капча, активация регистрирующихся пользователей через почту, чистка неактивированных логинов и тд. Фактически этот сайт админки пользователей основа любой CMS. На этом сайте-админке есть логин и регистрация с защитой капчей странички для бана юзеров, включения их в группы, добавления/удаления групп, страничка полной чистки базы от контента пользователя, активация вручную логинов (когда почтовые сообщения об активации не доходят до регистрирующихся пользователей) и многое другое.
Парадигма активации пользователей после регистрации основана на том, что в качестве логина используется почтовый адрес. При показе на сайте вместо него используется НИК (имя). Чтобы атакующий не заблокировал чужой почтовый адрес - требуется активация.
Как сконфигурировать и запустить то, что вы скачали.
Вы скачали автономный сайт-админку пользователей, которым можно администрировать пользователей любых сайтов. Нужно создать в IIS узел админки основного сайта. Например для узла Shared-хостинга (shared.asp-net.ru) я создаю узел админки юзеров user.shared.asp-net.ru. А для сайта votpusk.ru создаю adm.votpusk.ru.
В этот автономный узел IIS и надо развернуть ZIP, который вы скачали.
Более подробно начальный процесса запуска узла IIS на ASP.NET расписан тут - Bug_Tracker (система эксплуатации программ) - не будем повторять тут общие пункты насчет скачивания SqlExpress. Остановимся на специфике этого сайта:
- Необходимо создать в базе все необходимые SQL-процедуры и таблицы - этот процесс специфичен для каждого применения и подробнее описан ниже.
- Вы должны сконфигурировать Web-конфиг для своего сайта - начните с параметров доступа к почтовому серверу. Заполните правильно все параметры с префиксом SMTP_. Без этого все теряет смысл ибо ни один пользователь не сможет активироваться на сайте через свою почту.
- Когда база пользователей еще пуста - надо как-то залогинится в сайт. Для этого в конфиге есть параметры с префиксом Admin_. Этот пользователь создатся в базе при первом запуске сайта в хостинге IIS и позволит вам залогинится в свой сайт в качестве администратора.
- Настройте ссылки MainURL, TitleURL, ThisURL, CabinetURL на свой домен. MainURL - эта ссылка появляется первой в контекстном навигаторе. На CabinetURL происходит переход после логина. TitleURL и ThisURL используются в сообщениях активации.
- ShowFullPortalURL поставьте в False. Портал //www.vb-net.com/ и работает именно на той библиотеке, что вы скачали. Если этот параметр True, то показывается еще один контекстный навигатор со ссылками для сайта //www.vb-net.com/. Вам он не нужен.
- Не конфигурируйте параметры Product_ID и ActivationURL - они там стоят как раз такие, как нужно. Чтобы прога могла активироваться, когда вы ее оплатите.
- Загрузите свой рисунок в шапку сайта - Images\top.gif и свою иконку сайта favicon.ico
- Наконец, когда Web-конфиг будет настроен и все будет создано в SQL - создайте в IIS Web-узел и скормите этому узлу ту папку, куда вы распаковали скачанный сайт (с уже настроенным конфигом и установленным коннектом к базе) - введите URL своего сайта в браузер - все должно заработать.
- Когда сайт запустился в каталоге с ним появляется файли Install_ID.txt, в котором вы можете увидеть уникальный номер вашей инсталяции. Его надо сообщать в мыле или по телефону, чтобы активировать эту админку.
Что должно быть в базе.
- Базу должна быть проинициализирована для стандартных ASP-овских пользователей с помощью C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regsql.exe
- Нужно также создать таблу ParmProtector8 - в скрипте она создается в строках 23-33. Ко мне часто обращаются с вопросами админы сайтов - можно ли чистить таблу ParmProtector8. Ответ такой - если вы используете в моих библиотеках ТОЛЬКО функционал капчи - ее чистить можно. А вот если вы шифруете номера рисунков или постов форума с помощью моей библиотеки, то трунькать эту таблу нельзя.
- НИК и предельное время активации (сутки от времени регистрации) - хранятся в профиле ASP.NET пользователя. Если вам требуется на уровне SQL знать активирован ли пользователь или нет - используйте вот эту мою OpenSource SQL-сборку - GetAspNetProfileProperty.
- Страничка полной очистки базы от данных пользователей фактически просто запускает по выбранному пользователю процедуру ClearAllUserInfo. Эту процедуру вам придется создать самим в соответствии со спецификой своего собственного сайта (например в сайте вотпуска начало этой процедуры составляет многие сотни строк). Хвост этой процедуры в любом случае будет вот такой.
- Кроме того, если вы обратили внимание на этот рисунок, то вы видите что на портале //www.vb-net.com/ фактически есть четыре узла управления пользователями. В каждом из этих узлов развернут сайт, который вы скачали. Если база пользователей требуется всего одна, то надо параметр конфига LocalSqlServer у всех узлов настроить на одну базу. Можно использовать и разные базы. Для большей гибкости сайт вызывает при активации процедуру CopyUser. Вы можете использовать эту процедуру для любых своих целей учета активации пользователей, а не только для создания дубликата активированных пользователей в другой базе.
- При отсылке почтового уведомлений о регистрации ведется журнал.
Реестр Web-сервера.
- Мои библиотеки пишут некоторые катастрофические сообщения в журнал системы. Необходимо разрешение на ключ реестра HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog - FULL Control для учетной записи под которой запущен Web-узел IIS.
Если вы захотите приобрести эту админку ASP.NET пользователей (чтобы получить Support и убрать сообщения "Demo version") - переведите $10 на кошелек, который вы найдете тут http://products.vb-net.com/ и напишите мне с указанием Install_ID вашего сайта. Писем бывает много, я не успеваю их просматривать. Если ответа долго нет - позвоните по телефонам которые вы видите на сайте //www.vb-net.com/.
Пожалуйста, сообщайте обо всех замеченных багах в баг-трекер программы AspNet_UserManager.
|