powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять нужна помощь!
4 сообщений из 4, страница 1 из 1
Опять нужна помощь!
    #32032548
Smile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
!!6.5!! + VB6 (ADO)
Имеется таблица с записями. Записи содержат коды отделов. Имеются юзеры этих отделов. Для каждого отдела существует группа, в которой обитают эти юзеры. Для каждой такой группы создан view (SELECT ... FROM таблица WHERE KodOtdela=....) для того чтобы юзер каждого отдела мог просмотреть записи, предназначенные только для его отдела. В клиенте нужно просматривать эти view. Используется доверительный коннект к серверу, т.е. учетные сведения NT. Так вот. Я хочу сделать, чтобы при загрузке клиента определять в какой группе находится юзер, и в зависимости от этого просматривать записи из view, соответствующего отделу, в котором обитает юзер. Имя группы образовано следующим образом: Otdel + KodOtdela. Например, юзеры из отдела с кодом 23 сидят в группе Otdel23 и я смогу определить что для них предназначен view23, а для юзеров отдела с кодом 45 существует группа Otdel45 и им уже нужно предоставлять результат view45. Был другой вариант. Иметь таблицу юзеров, в которой им сопоставлены коды отделов. И информацию какой view для определенной группы брать из этой таблицы. Но вариант с таблицей меня не устраивает, так как при добавлении юзера, необходимо не забывать добавлять запись в эту таблицу. Но, с другой стороны (если использовать группы), администрирование базы будет нераздельно от клиента, потому что если, например, создать группу, имя которой не подчиняется описанному правилу, и определить права, то юзер, посредством клиента ничего не увидит, хотя фактически права у него для просмотра определенного view будут установлены администратором (клиент не поймет какой view использовать). Короче говоря, мне необходимо из клиента выяснить в какой группе сидит юзер, запустивший клиента. В проекте я использую ADO, но не знаю как реализовать все вышеописанное его средствами. Приходится использовать еще и SQL-DMO. Получается, что клиент создает два отдельных соединения: одно для ADO, другое SQL-DMO (или их можно завязать как-нибудь между собой?). Можно ли сделать все средствами ADO? Если не трудно приведите пример. И вообще, существуют ли более удобные способы реализации моей задачи (разделение доступа для различных юзеров к записям (не колонкам!) таблицы? Причем надо учитывать, что, разумеется, со временем добавляются новые отделы и новые юзеры (для них тоже надо определять доступ к записям).
...
Рейтинг: 0 / 0
Опять нужна помощь!
    #32032567
Glory
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>Короче говоря, мне необходимо из клиента выяснить в какой
>группе сидит юзер, запустивший клиента. В проекте я
>использую ADO, но не знаю как реализовать все
>вышеописанное его средствами.

Для всех пользователей
sp_helprolemember
sp_helpsrvrolemember

Для текущего пользователя
IS_MEMBER()
IS_SRVROLEMEMBER()
...
Рейтинг: 0 / 0
Опять нужна помощь!
    #32032580
Ольга
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если Вы еще только разрабатываете проект, то есть решение очень морочное с точки зрения разработчика, но достаточно надежное по безопасности. Доступ клиенам дается только на выполнение ХП. ХП пришутся на SELECT/INSERT/UPDATE/DELETE, внутри ХП проверяются права юзера на часть информации из таблиц и преставлений.
НА ВСЕ ОСТАЛЬНОЕ КЛИЕНТ ПРАВ НЕ ИМЕЕТ.

Недостатки понятны.
Достоинства: у Вас full control по любым операциям

> Приходится использовать еще и SQL-DMO.
ADO - это доступ к данным,
SQL-DMO доступ к административным функциям SQL Server.

С одной стороны Вы клиента хотите ограничить, а с другой - он будет копаться на серваке?

Ой, как бы опять речь не пошла о веревке и мыле :-))
...
Рейтинг: 0 / 0
Опять нужна помощь!
    #32032602
Фотография jimmers
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вам часом не список групп Windows, в которые входит текущий пользователь, необходим?
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Опять нужна помощь!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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