Главная страница
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.008 c
3-9091
ava
2002-02-06 16:53
2002.03.04
Помогите срочно надо


1-9147
Poirot
2002-02-17 05:42
2002.03.04
Как сделать форму прозроачной - Alpha например на 70%


3-9057
vopros
2002-02-06 14:00
2002.03.04
Я уже всех достал наверное...но очень надо


1-9116
vinni2000
2002-02-05 16:00
2002.03.04
Как получить список файлов в директории включая поддиректории?


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