Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.03.04;
Скачать: CL | DM;

Вниз

Права пользователя   Найти похожие ветки 

 
Frog   (2002-02-04 17:22) [0]

Доброго всем дня!

Вопрос такой - пользователю MS SQL запрещено добавление записей в таблицу. Но если в программе дается Table.Insert и затем Table.Post, то сообщение об ошибке появляется только в момент. когда выполняется Post, а до того времени пользовател пребывает в уверенности, что у него есть все права. Хотелось бы узнавать права пользователя еще в момент BeforeInsert и выдавать сообщение типа "У Вас не хватает прав для добавления записи". Вопрос - как это сделать. Спасибо


 
Delirium ©   (2002-02-04 17:26) [1]

Всё правильно, сервер-то узнаёт что юзер хочет что-то добавить именно в момент post-а.


 
Delirium ©   (2002-02-04 17:28) [2]

Можно сделать так:
1) insert + post - тут ошибка или права есть
2) edit ... post - сами изменения


 
TSV ©   (2002-02-04 17:47) [3]

Тогда все поля должны иметь значение по умолчанию или nullable.
ИМХО, пользователь заранее должен быть осведомлен о своих правах.


 
Леша   (2002-02-05 05:01) [4]

Перед открытием формы стывай права для таблиц с которыми работает форма, присваевай их переменным и при инзерте проверяй значение переменной.


 
Roma ©   (2002-02-07 12:20) [5]

2TSV>
И программа тоже должна быть осведомлена о его правах... ;)))

На мой взгляд, такие вещи должны быть предусмотрены еще в момент проектирования. Т.е., если пользователь не должен делать изменения (может только просматривать данные), то даже возможности сделать эти изменения ему не должно быть предоставлено (соответствующие кнопки, например, недоступны)...
Можно из системных таблиц вытаскивать информацию о правах, но лично я склоняюсь к мнению, что системные таблицы лучше трогать поменьше. Потому что они - для сервера, и при переносе версии Вашей программы с одного сервера БД под другой (или даже с одной версии сервера БД под другую) могут возникнуть проблемы...
А можно сделать таблицу, например, UserRights, с соответствующими полями, и там хранить, что пользователь с конкретным логином может делать, а что нет. В этом случае придется дополнительно писать т.н. рабочее место администратора, который будет эти самые права раздавать. Но зато можно будет сделать очень продвинутое разграничение прав и возможностей пользователей в Вашем программном комплексе, и работать это будет под самыми разными СУБД...

Что-то меня понесло... ;))) Проектирование - любимая тема... ;)))


 
MetallAdm ©   (2002-02-07 12:28) [6]

Да Да именно как сказал Roma заводишь табличку
с логинами а при запуске проги смотришь
что за логин такой и что он может делать а что нет !



Страницы: 1 вся ветка

Текущий архив: 2002.03.04;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
1-9169
Zool
2002-02-12 17:34
2002.03.04
Как узнать в каком каталоге находится моя прога?


6-9267
Shaman@mike
2001-12-03 15:22
2002.03.04
Подскажи как можно изменить MAC адрес


14-9270
Лана Розанова
2002-01-16 15:04
2002.03.04
Привет всем!!!


1-9183
USAtyj
2002-02-12 18:21
2002.03.04
Про массивы и про High() (+)


1-9110
f0rm
2002-02-15 19:33
2002.03.04
Нужен компонент