Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите разобраться с аутификацией
|
|||
|---|---|---|---|
|
#18+
Общая информация: Весь доступ к базе(MS SQL 2005 XE) осуществляется через множество ХП. На клиенте(ASP.Net 2.0) используются DataSet+ObjectDataSource. Доступ должен котролироваться на SQL сервере. Анонимных пользователей нет. Интегрированная аутификация не доступна. Вижу два пути организации: 1. Пользователь = Учетная запись SQL Во время аутификации генерируется ConnectionString Пытаюсь соединиться. В случаи успеха сохраняю ее в сесси. В дальнейшем права проверяются SQL сервером. Грабли: Не предстовляю как заставить TableAdapter использовать сохраненный ConnectionString, Адаптеры в большинстве случаев создаются ObjectDataSource, и их очень много. С одним источником можно былобы чтонибуть придумать, но совсеми сразу. В предачу можно получить кучу граблей от студи в Desingtime. 2. Пользователь храниться в базе с информацией о правах. Во время аутификации вызывается ХП Login, которая проверяет данные о пользователе и вслучаи успеха возврожается неки session_id, которы сохроняется в сесси ASP. Право на выполнения ХП проверяется непосредственно в ней, для это нужен доступ с session_id. А вот тут грабли: Как это session_id получить в ХП, если передовать через параметр, то получаю много проблем с DataSet. Хотелосьбы очень посмотреть на готовые решения, только не те которые просто прячут элемен интерфейса от пользователя, а действительно проверяю прова внутри SQL сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.08.2006, 19:30 |
|
||
|
Помогите разобраться с аутификацией
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, kon_v_palto, Вы писали: __>Общая информация: __>Весь доступ к базе(MS SQL 2005 XE) осуществляется через множество ХП. У меня аналогичным образом работает. __>На клиенте(ASP.Net 2.0) используются DataSet+ObjectDataSource. __>Доступ должен котролироваться на SQL сервере. __>Анонимных пользователей нет. __>Интегрированная аутификация не доступна. Аутентификацию и авторизацию разделил жёстко: 1. Получаем логин и пасс для доступа к базе и обьектам. 2. Каждый обьект требует права на использование — все кому чё нужно — могут запросить "дексриптор" и поработать с обьектами __>Вижу два пути организации: __>1. Пользователь = Учетная запись SQL __>Во время аутификации генерируется ConnectionString __>Пытаюсь соединиться. __>В случаи успеха сохраняю ее в сесси. __>В дальнейшем права проверяются SQL сервером. __>Грабли: __>Не предстовляю как заставить TableAdapter использовать сохраненный ConnectionString, Адаптеры в большинстве случаев создаются ObjectDataSource, и их очень много. С одним источником можно былобы чтонибуть придумать, но совсеми сразу. __>В предачу можно получить кучу граблей от студи в Desingtime. Хм... ИМХО оч. корявое решение. Хотелось бы напомнить, что БД подобное не очень-то по-душе. __>2. Пользователь храниться в базе с информацией о правах. __>Во время аутификации вызывается ХП Login, которая проверяет данные о пользователе и вслучаи успеха возврожается неки session_id, которы сохроняется в сесси ASP. __>Право на выполнения ХП проверяется непосредственно в ней, для это нужен доступ с session_id. __>А вот тут грабли: __>Как это session_id получить в ХП, если передовать через параметр, то получаю много проблем с DataSet. __>Хотелосьбы очень посмотреть на готовые решения, только не те которые просто прячут элемен интерфейса от пользователя, а действительно проверяю прова внутри SQL сервера. На это затрудняюсь даже ответить, не могу понять (с) к чему такой огород? FW2.0 с головы до пят обвешан всякими-разным провайдерами (берём рефлектор и смотрим чё и куда)... Можно Sessions заставить работать как нужно, и MembershipProvider можно переделать под себя... В чём сообственно проблема? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.08.2006, 19:48 |
|
||
|
Помогите разобраться с аутификацией
|
|||
|---|---|---|---|
|
#18+
Здравствуйте, Darkman_VLT, Вы писали: D_V>FW2.0 с головы до пят обвешан всякими-разным провайдерами (берём рефлектор и смотрим чё и куда)... D_V>Можно Sessions заставить работать как нужно, и MembershipProvider можно переделать под себя... D_V>В чём сообственно проблема? Проблема в том что на SQL сервере нужно как то индефицировать пользователя, но как если все используют общую строку подключения и объщий пул. А если передовать некий session_id или user_id каждой процедуре, то проблема с DataSet. Поскольку каждый параметр в Insert, Update и Delete методах обязан быть текущим или исходным значением одного из столбцов или константой. Можно конечно это решить при поможи бизнес объектов, но слишком много работы, собственно ни чего лудше я не придумал, так что долблю по клавишам с утра до вечeра. Ctrl+C и Ctrl+V точно скоро развалятся, хотя скорей это будут мои руки. А как представлю, не дай бох что структуру данных менять прийдется .... :crash: ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.08.2006, 01:16 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=914&tid=1390973]: |
0ms |
get settings: |
6ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
34ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
31ms |
get tp. blocked users: |
2ms |
| others: | 245ms |
| total: | 354ms |

| 0 / 0 |
