Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать из клиента имеет ли пользователь права изменения БД / 9 сообщений из 9, страница 1 из 1
03.06.2013, 16:03
    #38283903
Torrero11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Друзья, подскажите как проще всего решить следующий вопрос?
Создал БД в 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".
...
Рейтинг: 0 / 0
03.06.2013, 16:08
    #38283915
Сергей Викт.
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Torrero11, мне кажется это уже в приложении раскуривается, нет? Кнопки и БД никак не связаны. Просто приложением запрашиваете текущие права и если их не хватает button.enabled=false
...
Рейтинг: 0 / 0
03.06.2013, 16:26
    #38283938
Torrero11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Сергей Викт.,
Да, это всё так, но, какой запрос требуется сделать к БД, чтобы узнать права текущего пользователя?
...
Рейтинг: 0 / 0
03.06.2013, 16:40
    #38283962
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Код: sql
1.
exec sp_helprotect @username='username'
...
Рейтинг: 0 / 0
03.06.2013, 16:59
    #38283996
Torrero11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
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
...
Рейтинг: 0 / 0
03.06.2013, 17:01
    #38284001
Konst_One
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
смотрите в какую роль входят и уже проверяйте права роли.
...
Рейтинг: 0 / 0
03.06.2013, 17:15
    #38284034
Torrero11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Konst_One,
спасибо! А как программно узнать список ролей, связанных с Именем входа?
...
Рейтинг: 0 / 0
03.06.2013, 17:16
    #38284040
carrotik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
Torrero11Да, это всё так, но, какой запрос требуется сделать к БД, чтобы узнать права текущего пользователя?

... если у вас запрос к базе идет от того пользователя, который открывает приложение, то можно узнать его логин и группу прямо в приложении, не обращаясь к БД:

http://stackoverflow.com/questions/4677083/winform-user-authorization-via-active-directory
...
Рейтинг: 0 / 0
03.06.2013, 17:26
    #38284061
Torrero11
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как узнать из клиента имеет ли пользователь права изменения БД
carrotik,
спасибо большое!
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Как узнать из клиента имеет ли пользователь права изменения БД / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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