|
|
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Добрый день! Помогите разобраться. Мне нужно реализовать что то вроде авторизации клиента. Как это можно сделать? Или может где нибудь это описано достаточно подробно?Буду рад любой помощи. Заранее благодарен. ЗЫ С MSSQL начал работать около недели назад, по этому прошу прощенья если вопрос глупый. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 10:10 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
http://www.sql.ru/articles/Publications.shtml#05 http://msdn2.microsoft.com/ru-ru/library/ms187648.aspx ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 10:24 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Le Peace На MSDN уже второй день сижу, вся проблема в том что мне нужно организовать авторизацию не посредством SQLServer'a. Я так понимаю нужны 2 таблицы, первая имя пользователя и пароль (id, Login, Pass) и таблица в которой будут описаны права. Или я вобще не правильно себе это представляю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 10:59 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
В вашем первом вопросе был упомянут как раз MS SQL. В чем особый смысл городить свой огородик вместо использования штатных достаточно мощных механизмов самого сервера ? Если имеющегося у сервера функционала по разграничению прав не хватает можно на его основе сделать какие-то свои пристроечки. Он позволяет и читать и писать данные по правам, пользователям и пр. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 12:55 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительВ чем особый смысл городить свой огородик вместо использования штатных достаточно мощных механизмов самого сервера ? Полностью с Вами согласен, но это придумал не я, я лишь пытаюсь это реализовать и все больше убеждаюсь в правильности Ваших слов, однако это приходится делать... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 13:04 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Таблица прав в системе - это вообще не очень простая штука, которая сильно зависит от того, что конкретно нужно от системы безопасности. в общем виде, наверно, можно представить таблицу прав из 4-ех полей IDUser (пользователь либо группа) IDObject (обьект, на который даются права) IDPermission (какое именно право) Value (разрешено/отсутствует/запрещено). А как именно выделять обьекты и какие давать права - уже зависит от конкретной системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 14:08 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Да, пожалуй, еще не помешает пятое поле - дата, с которого действует разрешение/запрещение ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 14:10 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Fernando Le Peace На MSDN уже второй день сижу, вся проблема в том что мне нужно организовать авторизацию не посредством SQLServer'a. Я так понимаю нужны 2 таблицы, первая имя пользователя и пароль (id, Login, Pass) и таблица в которой будут описаны права. Или я вобще не правильно себе это представляю? Первая ссылка, которую я дал - вроде не msdn. Там есть статья http://www.sql.ru/articles/mssql/2005/040201EnterpriseSecurity.shtml ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 14:27 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Le PeaceТам есть статья http://www.sql.ru/articles/mssql/2005/040201EnterpriseSecurity.shtml Да, читал ее, много полезного узнал, спасибо большое. Кот Матроскин IDUser (пользователь либо группа) IDObject (обьект, на который даются права) IDPermission (какое именно право) Value (разрешено/отсутствует/запрещено). Спасибо за подсказку, примерно так же начал делать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2008, 14:35 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Программист-Любитель Если имеющегося у сервера функционала по разграничению прав не хватает можно на его основе сделать какие-то свои пристроечки. А как это можно сделать?Точнее мне нужно при добавлении нового пользователя в мою таблицу, чтобы на сервере создавался пользователь с таким же именем и в зависимости от выбранной группы (в моей таблице) пользователю присваивалась принадлежность к одной из ролей БД на пример id Login Pass Grup 1 Ivanov 5000 admin После добавления этой записи в таблицу на уровне сервера создается пользователь Ivanov который является членом роли securityadmin. Т.е. другими словами нужно ассоциировать Login пользователя (значение колонки Login в моей таблице) с пользователем SQL, а имя группы с конкретной ролью. Это вобще реально? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2008, 08:14 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Отчего же нереально. Очень даже реально. Я придерживаюсь другого способа - сначала в MS SQL сервере заводятся новые роли и пользователи, а приложение читает их и копирует в свои местечковые таблицы, содержащие дополнительные данные. Можно делать это через SQL DMO можно через чистый T-SQL. Можно и наоборот, создав данные в приложении, заставить плясать сервер под вашу дудку. Примеры есть в BOL. Что вы напридумаете в своих пристроечках - зависит от вас и вашего приложения. Можно автоматически генерить триггеры, раздавать гранты и ревоки на таблицы, задавать источники данных для пользовательских форм в зависимости от ролей и т.п. У мения получилась пристроечка, которая решает вопросы доступа к данным и аудирования действий пользователей, использующая данные MS SQL сервера и работающая через его штатные механизмы управления правами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.03.2008, 23:13 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Программист-ЛюбительУ мения получилась пристроечка, которая решает вопросы доступа к данным и аудирования действий пользователей, использующая данные MS SQL сервера и работающая через его штатные механизмы управления правами. Мне нужно сделать тоже самое. Из справки узнал довольно много, но все равно "плаваю". Если я правильно понимаю, то нужно на мою таблицу вешать триггер на вставку. При добавлении новой записи в таблицу, в триггере вызывается процедура sp_addlogin, которой в качестве параметров мы передаем данные из таблицы, что вроде этого Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2008, 14:28 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
что будет, если в таблицу будет вставляться не одна запись, а несколько? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.03.2008, 23:06 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Операции добавления пользователей скорее всего, идут через определенные окна клиентского приложения (на чем оно у вас ?). Мне кажется в нем удобнее принудительно вызывать данные процедуры. Вы можете сравнить свой список с "настоящим серверным", проставить галочки кого надо добавить и по кнопке сделать такое добавление. Городить триггер я бы не стал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 09:00 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
egorychчто будет, если в таблицу будет вставляться не одна запись, а несколько? Запись добавляется с клиентского приложения, одновременно добавлять несколько записей не получится. Если я правильно понял вопрос. Программист-Любитель Операции добавления пользователей скорее всего, идут через определенные окна клиентского приложения (на чем оно у вас ?). Клиента пишу на С#. С добавлением пользователя кажется понятно, сейчас буду пробовать. А как быть с ролями, так и не понял, т.е как прикрепить пользователя к конкретной роли, имея значение из таблицы(user, admin, klient)? ЗЫ Спасибо большое за помощь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 09:30 |
|
||
|
Помогите разобраться
|
|||
|---|---|---|---|
|
#18+
Читайте BOL там с примерами подробно описаны манипуляции с ролями и пользователями через SQL DMO и T-SQL. Как прикрепить пользователя к роли в ВАШИХ таблицах - простейшее отношение многие-ко-многим. На то имеются тонны бумажной литеоатурой и немерянные экраны в гугле В качестве иллюстрации могу приложить снимок моих "местечковых" таблиц, хранящих копии данных из SQL сервера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.03.2008, 10:00 |
|
||
|
|

start [/forum/topic.php?fid=32&fpage=107&tid=1543994]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
64ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 241ms |
| total: | 402ms |

| 0 / 0 |
