Авторизация с использованием данных пользователей MS SQL 2005

JOHN_PROFF
Дата: 31.05.2008 17:24:34
Каким образом сделать, что-бы авторизацию проходили только те пользователи, которые есть в базе MS SQL 2005 и что-бы после авторизации все дальнейшие подключения и запросы к базе шли только от имени этого авторизированного пользователя?
vladka63
Дата: 31.05.2008 21:54:04
это один из вариантов
1. создать базу данных приложения MSSQL 2005.
2. пропустить её через утилиту aspnet_regsql.exe
3. создать собственный провайдер Membership и прописать его в web.config
4. Создать страницу Login.aspx и поставить туда форму Login.
5. на станицы поставить LoginView и настроить интерфейс на показ разным ролям.
5. через ASP.NET configuration назначить собственный провайдер, роли, доступ к папкам, завести пользователей.
6. взять у хостера строку подключения и заменить локальную строку в web.config
7. скопировать на хостинг базу и приложение.

запросы "только этих" : делаются через роли и/или через параметризированные запросы (читай ADO.NET)

если нужна регистрация новых и т.д, то в приложении нужно добавить соответствующие страницы.
G0TT
Дата: 31.05.2008 23:41:00
Каким образом сделать, что-бы авторизацию проходили только те пользователи, которые есть в базе MS SQL 2005 и что-бы после авторизации все дальнейшие подключения и запросы к базе шли только от имени этого авторизированного пользователя?

Скачай книгу Вильямс - Microsoft ASP.NET 2.0 с примерами на C# 2005 для профессионалов.2006 и там все это узнаешь, там подробно и хорошо описано, а так писать очень долго..
JOHN_PROFF
Дата: 01.06.2008 00:33:38
Спасибо за советы!!! Буду пробовать.
Немного перефразирую свой вопрос, на тот случай, если есть более лучшее решение или в мировой практике принято делать как-то по-другому. (Просто хочется сразу сделать так, как положено, чем потом переделывать, или сталкиваться с множественными подводными камнями).

Делается корпоративная БД с тонким клиентом на ASP.NET.
Нужно разграничить пользователям доступ к объектам БД.
Дать возможность создавать новые роли и новых пользователей.
vladka63

5. на станицы поставить LoginView и настроить интерфейс на показ разным ролям.

Вот этого как раз и нужно избежать. Пользователи смогут заходить на любые страницы, но данные просмотреть или изменить не смогут, т.к. это будет запрещено SQL сервером.
JOHN_PROFF
Дата: 01.06.2008 01:59:45
В принципе нашел некоторые ответы тут Покритикуйте подключение к БД и тут Как правильней организовать аутентификацию?
Если у кого есть какие предложения или наработки, то буду рад выслушать.
Рабинович
Дата: 01.06.2008 03:25:37
Мы бы тоже с удовольствием заслушали и запейсали ваши корпоративные ноу-хау
vladka63
Дата: 01.06.2008 04:25:30
"Вот этого как раз и нужно избежать. Пользователи смогут заходить на любые страницы, но данные просмотреть или изменить не смогут, т.к. это будет запрещено SQL сервером."

Здесь может быть несколько вариантов:
1. к разным объектам в базе - делай разделение через схемы на уровне базы данных через роли.
2. делать не через LoginView, а через отдельные папки, в каждую из которых имеют доступ только
определенные роли.
3. в принципе 2 ничем не отличается от установки LoginView в смысле безопасности, просто возни с версткой страниц будет больше.

P.S Рабинович, не потеряй записку ))))))
Рабинович
Дата: 01.06.2008 05:09:06
[задумчиво] Как бы я вас всех уволил... Догнал бы и еще раз уволил...