powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / авторизация и разграничение прав
16 сообщений из 16, страница 1 из 1
авторизация и разграничение прав
    #36530543
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня такая проблема. Нужно ограничить права на работу с программой. Скачал на форуме реализацию программы авторизации. Там есть таблица users, в которой хранится логин и пароль. Есть 2 формы. Первая добавляет пользователей в таблицу, вторая служит для их авторизации. Прикрутил эти формы в свою программу – сделал 2 пункта меню: авторизация и добавить пользователя. Теперь программа запрашивает логин и пароль сразу же после запуска. Все отлично. Но как мне разграничить права? Чтоб только админ мог добавлять пользователей и чтоб только ему могли быть доступны такие функции программы, как редактирование записей, удаление и т.д.? В принципе кнопки «Редактировать» и «Удалить», а также меню с функцией «Добавить пользователей» можно как-то скрыть, если залогинился не админ. Но как это сделать? Прошу помочь, кто может. Заранее благодарен!
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36531135
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для этого надо научиться писать программы.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36531689
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
araks.com прикрутил эти формы в свою программу – сделал 2 пункта меню: авторизация и добавить пользователя. [/i]

Полюбопытствуйте, что означает опция SKIP FOR при конструировании меню.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36531968
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
Нашел эту опцию в конструкторе меню) Точно не могу сказать, потому что не использовал. Но видимо что-то пропустить при выборе пункта меню.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36531974
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
или вроде скрывает пункт меню при каком-то событии
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36532060
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SKIP [FOR lExpression]


Задает условие доступности заголовка меню: если выражение lExpression имеет значение "истина" (.T.), заголовок меню недоступен, и пользователь не может выбирать его, а если выражение имеет значение "ложь" (.F.), элемент меню доступен. Вы также можете сделать элемент меню недоступным, поставив перед текстом заголовка меню обратную косую черту (\). Например:

DEFINE PAD padPageAccts OF mnuReceive PROMPT '\Age Accounts'

Заголовок меню padPageAccts будет изображен в тусклых тонах, указывающих на то, что пользоватейь не может его выбрать. Недоступный заголовок меню можно отобразить, но нельзя выделить.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36532872
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dag,

Когда-то создал класс обхода контролов на форме с параметрами xVisible, xEnabled (используются от поставленных задачах и формах) . Эти "Свойства" контролов - в отдельной зашифорованной таблице для каждого из юзеров (попадают только те, к которым применяются ограничения), в зависмости кто залогинился, на каждой из форм отрабатывается этот класс - банит или нет контролы. Все просто. Уловил идею?
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36532973
Dag
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ValeriiDag,
Когда-то создал класс обхода контролов на форме с параметрами xVisible, xEnabled (используются от поставленных задачах и формах) . Эти "Свойства" контролов - в отдельной зашифорованной таблице для каждого из юзеров (попадают только те, к которым применяются ограничения), в зависмости кто залогинился, на каждой из форм отрабатывается этот класс - банит или нет контролы. Все просто. Уловил идею?
Неплохая идея. Возможно, топикстартер возмет ее на вооружение.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36533113
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dag,
спасибо за объяснения! Только как это все реализовать автоматически?

Valerii,
дал хороший совет, но не совсем понял, как это сделать?
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36533231
araks.com,
обратитесь к программисту.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36533239
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
araks.com,

Для ленивых...
*
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Parameters pUserId

pUserId = pGlobalUser

This.FormControlsCursor = SYS(2015)
SELECT * FROM Rights ;
	WHERE UPPER(Alltrim(FormName)) = UPPER(Alltrim(Thisform.Name)) AND ;
		  Id_User = pUserId ;
INTO CURSOR (This.FormControlsCursor)

STORE '' TO EnabledValue, StringControl

DO WHILE !EOF()
	EnabledValue = IIF(Right(thisForm.Crypt.Encrypt(ALLTRIM(FormActionId), 2),3) = '.T.', '.Enabled = .F.', '.Enabled = .T.')
	StringControl = 'ThisForm.'+SUBSTR(thisForm.Crypt.Encrypt(ALLTRIM(FormActionId), 2),1,LEN(thisForm.Crypt.Encrypt(ALLTRIM(FormActionId), 2))-5) + EnabledValue

	&StringControl && тут банится по Enabled, если надо по Visible....эти 2 свойства присущи всем контролам
SKIP
ENDDO

Это код INIT класса, который есть на каждой форме, на которой по условиям задачи должны быть ограниеченя для пользователей.
Из таблицы, в которой хранятся данные об ограничениях для всех пользователей, дергаем эти данные - расшифровываем и применяем к контролам текущей формы.
Шифруйте чем хотите, только чтобы расщифровать можно было, и все...
Все летает.. Главное чтобы шифровка/расшифровка проходила как-можно быстрее. Хотя если это приложение клиент сервер и таблица прав на сервере + пароли и защита, то и шифровать ничего не надо.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36533769
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Valerii,
дело не в лени, а в незнании) спасибо, буду разбираться
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36533973
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
araks.comValerii,
дело не в лени, а в незнании) спасибо, буду разбираться

Вы, не зная основ, претендуете на помощь в частностях.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36534041
araks.com
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffffffffff,
в том то и дело, что основы я знаю, в институте проходили. Но дальше, чем построить таблицу и сделать запросы, добавить и удалить строки, нас не обучили. И было это лет 6 назад. Поэтому просил помощь
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36534113
Ffffffffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это не основы. Это вступление.
...
Рейтинг: 0 / 0
авторизация и разграничение прав
    #36535421
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FfffffffffffffffЭто не основы. Это вступление.
Ffffffffffffffff
не наезжай, многим (да наверное всем) сначала тугова-то приходится.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / авторизация и разграничение прав
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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