|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Друзья, подскажите как проще всего решить следующий вопрос? Создал БД в MSQLServer2012Express и клиентское приложение в WinForms VisualStudio2012Express на C#. В системе будут работать 10 пользователей на 10ти машинах с Windows 7 и сервером в локальной сети. Соединение с сервером основано на проверке подлинности Windows. На сервере два имени входа: 1) Имя входа Руководство - ассоциировано с группой Windows, в которую входят учетные записи руководителей. Имеет право просмотра всех объектов БД (связано с ролью db_datareader) 2) Имя входа Сотрудники - ассоциировано с группой Windows, в которую входят учетные записи сотрудников. Имеет права просмотра и редактирования всех объектов БД. (связано с ролями db_datareader и db_datawriter) На каждой форме клиентского приложения отображаются компоненты DataGridView и BindingNavigator. Задача состоит в том, чтобы кнопки сохранения, добавления и удаления, расположенные на BindingNavigator делать неактивными, если клиентское приложение запущено от имени учетных записей, не имеющих права изменения БД (в данном случае - Руководство). Модератор: Тема перенесена из форума "Microsoft SQL Server". ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:03 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Torrero11, мне кажется это уже в приложении раскуривается, нет? Кнопки и БД никак не связаны. Просто приложением запрашиваете текущие права и если их не хватает button.enabled=false ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:08 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Сергей Викт., Да, это всё так, но, какой запрос требуется сделать к БД, чтобы узнать права текущего пользователя? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:26 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Код: sql 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:40 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Konst_One, спасибо большое! А как правильно использовать эту процедуру, чтобы узнать права групп пользователей? При попытке: exec sp_helprotect @username='ADMIN-PC\Rukovoditeli'; exec sp_helprotect @username='ADMIN-PC\Sotrudniki'; СУБД выдаёт одинаковые таблицы, в которых нет инфо о правах записи-просмотра: Owner | Object | Grantee | Grantor | ProtectType | Action | ADMIN-PC\Rukovoditeli_ddut dbo Grant CONNECT ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 16:59 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
смотрите в какую роль входят и уже проверяйте права роли. ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 17:01 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Konst_One, спасибо! А как программно узнать список ролей, связанных с Именем входа? ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 17:15 |
|
Как узнать из клиента имеет ли пользователь права изменения БД
|
|||
---|---|---|---|
#18+
Torrero11Да, это всё так, но, какой запрос требуется сделать к БД, чтобы узнать права текущего пользователя? ... если у вас запрос к базе идет от того пользователя, который открывает приложение, то можно узнать его логин и группу прямо в приложении, не обращаясь к БД: http://stackoverflow.com/questions/4677083/winform-user-authorization-via-active-directory ... |
|||
:
Нравится:
Не нравится:
|
|||
03.06.2013, 17:16 |
|
|
start [/forum/topic.php?fid=20&tid=1404578]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
66ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
48ms |
get tp. blocked users: |
2ms |
others: | 10ms |
total: | 169ms |
0 / 0 |