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

А как именно выделять обьекты и какие давать права - уже зависит от конкретной системы.
...
Рейтинг: 0 / 0
Помогите разобраться
    #35169650
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, пожалуй, еще не помешает пятое поле - дата, с которого действует разрешение/запрещение
...
Рейтинг: 0 / 0
Помогите разобраться
    #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
Помогите разобраться
    #35169785
Fernando
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Le PeaceТам есть статья http://www.sql.ru/articles/mssql/2005/040201EnterpriseSecurity.shtml
Да, читал ее, много полезного узнал, спасибо большое.
Кот Матроскин
IDUser (пользователь либо группа)
IDObject (обьект, на который даются права)
IDPermission (какое именно право)
Value (разрешено/отсутствует/запрещено).

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

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

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

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

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

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

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

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


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