|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
У меня такая проблема. Нужно ограничить права на работу с программой. Скачал на форуме реализацию программы авторизации. Там есть таблица users, в которой хранится логин и пароль. Есть 2 формы. Первая добавляет пользователей в таблицу, вторая служит для их авторизации. Прикрутил эти формы в свою программу – сделал 2 пункта меню: авторизация и добавить пользователя. Теперь программа запрашивает логин и пароль сразу же после запуска. Все отлично. Но как мне разграничить права? Чтоб только админ мог добавлять пользователей и чтоб только ему могли быть доступны такие функции программы, как редактирование записей, удаление и т.д.? В принципе кнопки «Редактировать» и «Удалить», а также меню с функцией «Добавить пользователей» можно как-то скрыть, если залогинился не админ. Но как это сделать? Прошу помочь, кто может. Заранее благодарен! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 12:34 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Для этого надо научиться писать программы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 15:04 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
araks.com прикрутил эти формы в свою программу – сделал 2 пункта меню: авторизация и добавить пользователя. [/i] Полюбопытствуйте, что означает опция SKIP FOR при конструировании меню. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 17:55 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Dag, Нашел эту опцию в конструкторе меню) Точно не могу сказать, потому что не использовал. Но видимо что-то пропустить при выборе пункта меню. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 21:04 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
или вроде скрывает пункт меню при каком-то событии ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 21:11 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
SKIP [FOR lExpression] Задает условие доступности заголовка меню: если выражение lExpression имеет значение "истина" (.T.), заголовок меню недоступен, и пользователь не может выбирать его, а если выражение имеет значение "ложь" (.F.), элемент меню доступен. Вы также можете сделать элемент меню недоступным, поставив перед текстом заголовка меню обратную косую черту (\). Например: DEFINE PAD padPageAccts OF mnuReceive PROMPT '\Age Accounts' Заголовок меню padPageAccts будет изображен в тусклых тонах, указывающих на то, что пользоватейь не может его выбрать. Недоступный заголовок меню можно отобразить, но нельзя выделить. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.03.2010, 23:14 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Dag, Когда-то создал класс обхода контролов на форме с параметрами xVisible, xEnabled (используются от поставленных задачах и формах) . Эти "Свойства" контролов - в отдельной зашифорованной таблице для каждого из юзеров (попадают только те, к которым применяются ограничения), в зависмости кто залогинился, на каждой из форм отрабатывается этот класс - банит или нет контролы. Все просто. Уловил идею? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2010, 00:21 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
ValeriiDag, Когда-то создал класс обхода контролов на форме с параметрами xVisible, xEnabled (используются от поставленных задачах и формах) . Эти "Свойства" контролов - в отдельной зашифорованной таблице для каждого из юзеров (попадают только те, к которым применяются ограничения), в зависмости кто залогинился, на каждой из форм отрабатывается этот класс - банит или нет контролы. Все просто. Уловил идею? Неплохая идея. Возможно, топикстартер возмет ее на вооружение. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2010, 07:29 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Dag, спасибо за объяснения! Только как это все реализовать автоматически? Valerii, дал хороший совет, но не совсем понял, как это сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2010, 12:35 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
araks.com, обратитесь к программисту. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2010, 15:15 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
araks.com, Для ленивых... * Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18.
Это код INIT класса, который есть на каждой форме, на которой по условиям задачи должны быть ограниеченя для пользователей. Из таблицы, в которой хранятся данные об ограничениях для всех пользователей, дергаем эти данные - расшифровываем и применяем к контролам текущей формы. Шифруйте чем хотите, только чтобы расщифровать можно было, и все... Все летает.. Главное чтобы шифровка/расшифровка проходила как-можно быстрее. Хотя если это приложение клиент сервер и таблица прав на сервере + пароли и защита, то и шифровать ничего не надо. ... |
|||
:
Нравится:
Не нравится:
|
|||
21.03.2010, 15:22 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Valerii, дело не в лени, а в незнании) спасибо, буду разбираться ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2010, 08:48 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
araks.comValerii, дело не в лени, а в незнании) спасибо, буду разбираться Вы, не зная основ, претендуете на помощь в частностях. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2010, 10:45 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Ffffffffffffffff, в том то и дело, что основы я знаю, в институте проходили. Но дальше, чем построить таблицу и сделать запросы, добавить и удалить строки, нас не обучили. И было это лет 6 назад. Поэтому просил помощь ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2010, 11:12 |
|
авторизация и разграничение прав
|
|||
---|---|---|---|
#18+
Это не основы. Это вступление. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.03.2010, 11:45 |
|
|
start [/forum/topic.php?fid=41&msg=36532060&tid=1585480]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
4ms |
get page messages: |
63ms |
get tp. blocked users: |
1ms |
others: | 353ms |
total: | 502ms |
0 / 0 |