Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите разобраться / 16 сообщений из 16, страница 1 из 1
04.03.2008, 10:10
    #35168738
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Добрый день!
Помогите разобраться. Мне нужно реализовать что то вроде авторизации клиента. Как это можно сделать? Или может где нибудь это описано достаточно подробно?Буду рад любой помощи. Заранее благодарен.
ЗЫ С MSSQL начал работать около недели назад, по этому прошу прощенья если вопрос глупый.
...
Рейтинг: 0 / 0
04.03.2008, 10:24
    #35168782
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
...
Рейтинг: 0 / 0
04.03.2008, 10:59
    #35168889
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Le Peace
На MSDN уже второй день сижу, вся проблема в том что мне нужно организовать авторизацию не посредством SQLServer'a.
Я так понимаю нужны 2 таблицы, первая имя пользователя и пароль (id, Login, Pass) и таблица в которой будут описаны права. Или я вобще не правильно себе это представляю?
...
Рейтинг: 0 / 0
04.03.2008, 12:55
    #35169316
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
В вашем первом вопросе был упомянут как раз MS SQL. В чем особый смысл городить свой огородик вместо использования штатных достаточно мощных механизмов самого сервера ? Если имеющегося у сервера функционала по разграничению прав не хватает можно на его основе сделать какие-то свои пристроечки. Он позволяет и читать и писать данные по правам, пользователям и пр.
...
Рейтинг: 0 / 0
04.03.2008, 13:04
    #35169354
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Программист-ЛюбительВ чем особый смысл городить свой огородик вместо использования штатных достаточно мощных механизмов самого сервера ?
Полностью с Вами согласен, но это придумал не я, я лишь пытаюсь это реализовать и все больше убеждаюсь в правильности Ваших слов, однако это приходится делать...
...
Рейтинг: 0 / 0
04.03.2008, 14:08
    #35169643
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Таблица прав в системе - это вообще не очень простая штука, которая сильно зависит от того, что конкретно нужно от системы безопасности.
в общем виде, наверно, можно представить таблицу прав из 4-ех полей
IDUser (пользователь либо группа)
IDObject (обьект, на который даются права)
IDPermission (какое именно право)
Value (разрешено/отсутствует/запрещено).

А как именно выделять обьекты и какие давать права - уже зависит от конкретной системы.
...
Рейтинг: 0 / 0
04.03.2008, 14:10
    #35169650
Кот Матроскин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Да, пожалуй, еще не помешает пятое поле - дата, с которого действует разрешение/запрещение
...
Рейтинг: 0 / 0
04.03.2008, 14:27
    #35169744
Le Peace
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Fernando Le Peace
На MSDN уже второй день сижу, вся проблема в том что мне нужно организовать авторизацию не посредством SQLServer'a.
Я так понимаю нужны 2 таблицы, первая имя пользователя и пароль (id, Login, Pass) и таблица в которой будут описаны права. Или я вобще не правильно себе это представляю?
Первая ссылка, которую я дал - вроде не msdn.
Там есть статья http://www.sql.ru/articles/mssql/2005/040201EnterpriseSecurity.shtml
...
Рейтинг: 0 / 0
04.03.2008, 14:35
    #35169785
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Le PeaceТам есть статья http://www.sql.ru/articles/mssql/2005/040201EnterpriseSecurity.shtml
Да, читал ее, много полезного узнал, спасибо большое.
Кот Матроскин
IDUser (пользователь либо группа)
IDObject (обьект, на который даются права)
IDPermission (какое именно право)
Value (разрешено/отсутствует/запрещено).

Спасибо за подсказку, примерно так же начал делать.
...
Рейтинг: 0 / 0
09.03.2008, 08:14
    #35179837
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Программист-Любитель Если имеющегося у сервера функционала по разграничению прав не хватает можно на его основе сделать какие-то свои пристроечки.
А как это можно сделать?Точнее мне нужно при добавлении нового пользователя в мою таблицу, чтобы на сервере создавался пользователь с таким же именем и в зависимости от выбранной группы (в моей таблице) пользователю присваивалась принадлежность к одной из ролей БД
на пример
id Login Pass Grup
1 Ivanov 5000 admin
После добавления этой записи в таблицу на уровне сервера создается пользователь Ivanov который является членом роли securityadmin.
Т.е. другими словами нужно ассоциировать Login пользователя (значение колонки Login в моей таблице) с пользователем SQL, а имя группы с конкретной ролью. Это вобще реально?
...
Рейтинг: 0 / 0
09.03.2008, 23:13
    #35180261
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Отчего же нереально. Очень даже реально. Я придерживаюсь другого способа - сначала в MS SQL сервере заводятся новые роли и пользователи, а приложение читает их и копирует в свои местечковые таблицы, содержащие дополнительные данные. Можно делать это через SQL DMO можно через чистый T-SQL. Можно и наоборот, создав данные в приложении, заставить плясать сервер под вашу дудку.

Примеры есть в BOL. Что вы напридумаете в своих пристроечках - зависит от вас и вашего приложения. Можно автоматически генерить триггеры, раздавать гранты и ревоки на таблицы, задавать источники данных для пользовательских форм в зависимости от ролей и т.п.

У мения получилась пристроечка, которая решает вопросы доступа к данным и аудирования действий пользователей, использующая данные MS SQL сервера и работающая через его штатные механизмы управления правами.
...
Рейтинг: 0 / 0
10.03.2008, 14:28
    #35180569
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Программист-ЛюбительУ мения получилась пристроечка, которая решает вопросы доступа к данным и аудирования действий пользователей, использующая данные MS SQL сервера и работающая через его штатные механизмы управления правами.
Мне нужно сделать тоже самое. Из справки узнал довольно много, но все равно "плаваю".
Если я правильно понимаю, то нужно на мою таблицу вешать триггер на вставку.
При добавлении новой записи в таблицу, в триггере вызывается процедура sp_addlogin, которой в качестве параметров мы передаем данные из таблицы, что вроде этого
Код: plaintext
EXEC sp_addlogin @login, @pass
Или это делается совсем по другому?
...
Рейтинг: 0 / 0
10.03.2008, 23:06
    #35181279
egorych
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
что будет, если в таблицу будет вставляться не одна запись, а несколько?
...
Рейтинг: 0 / 0
11.03.2008, 09:00
    #35181551
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Операции добавления пользователей скорее всего, идут через определенные окна клиентского приложения (на чем оно у вас ?).

Мне кажется в нем удобнее принудительно вызывать данные процедуры. Вы можете сравнить свой список с "настоящим серверным", проставить галочки кого надо добавить и по кнопке сделать такое добавление.

Городить триггер я бы не стал.
...
Рейтинг: 0 / 0
11.03.2008, 09:30
    #35181578
Fernando
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
egorychчто будет, если в таблицу будет вставляться не одна запись, а несколько?
Запись добавляется с клиентского приложения, одновременно добавлять несколько записей не получится. Если я правильно понял вопрос.
Программист-Любитель
Операции добавления пользователей скорее всего, идут через определенные окна клиентского приложения (на чем оно у вас ?).

Клиента пишу на С#. С добавлением пользователя кажется понятно, сейчас буду пробовать. А как быть с ролями, так и не понял, т.е как прикрепить пользователя к конкретной роли, имея значение из таблицы(user, admin, klient)?
ЗЫ Спасибо большое за помощь
...
Рейтинг: 0 / 0
11.03.2008, 10:00
    #35181625
Программист-Любитель
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите разобраться
Читайте BOL там с примерами подробно описаны манипуляции с ролями и пользователями через SQL DMO и T-SQL.

Как прикрепить пользователя к роли в ВАШИХ таблицах - простейшее отношение многие-ко-многим. На то имеются тонны бумажной литеоатурой и немерянные экраны в гугле

В качестве иллюстрации могу приложить снимок моих "местечковых" таблиц, хранящих копии данных из SQL сервера.
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Помогите разобраться / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]