Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Ответ
 
Опции темы
Старый 15.06.2018, 00:46   #1
al.tarin
 
Регистрация: 28.03.2017
Сообщений: 7
Репутация: 10
По умолчанию Разграниченный доступ к приложению

По этой теме было много вопросов, но решение я так и не нашла
Нужно разграничить права пользователей через авторизацию. В инете есть только одно видео на эту тему, но оно мне не подходит
В общем, нужно, чтобы у пользователя, после ввода логина и пароля, выводилась только та информация, которая ему будет доступна. Чтобы один, например мог только просматривать, без изменения информации, а другой имел полный доступ.
Не нужно вводить шифрование, тут сказали можно не заморачиваться.
al.tarin вне форума   Ответить с цитированием
Старый 15.06.2018, 01:03   #2
Sciv
Профессионал
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Адрес: Курган
Сообщений: 3,218
Репутация: 1205
По умолчанию

И какие именно трудности?

Вариант 1.
Двухуровневая ролевая модель - таблица пользователей и таблица их прав. При авторизации проверяете права пользователей и включаете/выключаете нужные компоненты на формах. При выполнении каких-либо действий (например, кнопка Insert в гриде) также проверяете права пользователя.

Вариант 2. Трёхуровневая модель.
Таблицы пользователей, ролей и прав. Полный набор прав - один и тот же (по сути - некоторое множество прав). Каждой роли соответствует определённое подмножество этого множества (права, доступные именно для этой роли). Каждый пользователь обладает некоторой ролью. Соответственно, обработка в коде аналогична первому варианту, но проверка прав осуществляется не напрямую, а через роль пользователя: определяете роль и после этого проверяете, доступно ли этой роли то или иное действие.
__________________
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...
Sciv вне форума   Ответить с цитированием
Старый 15.06.2018, 10:33   #3
Serge_Bliznykov
МегаМодератор
СуперМодератор
 
Регистрация: 09.01.2008
Сообщений: 24,028
Репутация: 5228
По умолчанию

Цитата:
Сообщение от al.tarin Посмотреть сообщение
В инете есть только одно видео на эту тему, но оно мне не подходит
совсем ничего не нашли, да?

вот только темы с нашего форума, найденные за пять минут:

http://www.programmersforum.ru/showthread.php?t=256913

http://www.programmersforum.ru/showthread.php?t=67993

http://programmersforum.ru/showthread.php?t=183985

http://programmersforum.ru/showthread.php?t=199993
Serge_Bliznykov вне форума   Ответить с цитированием
Старый 15.06.2018, 12:46   #4
al.tarin
 
Регистрация: 28.03.2017
Сообщений: 7
Репутация: 10
По умолчанию

Значит все таки плохо искала
Спасибо вам
Но немного не поняла, как в зависимости от статуса(права) пользователя выключать необходимые элементы
al.tarin вне форума   Ответить с цитированием
Старый 15.06.2018, 12:54   #5
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

Условным оператором, например. Если есть права на запись, то ..., иначе...
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 15.06.2018, 13:11   #6
al.tarin
 
Регистрация: 28.03.2017
Сообщений: 7
Репутация: 10
По умолчанию

Не совсем тогда понимаю, для чего присваивать уровень пользователя. Нельзя просто если ввел такой-то логин, то показывается одна информация, а если другой, то вся?
al.tarin вне форума   Ответить с цитированием
Старый 15.06.2018, 13:15   #7
p51x
Профессионал
 
Регистрация: 15.02.2010
Сообщений: 11,707
Репутация: 1932

icq: 216409213
По умолчанию

И для того, чтобы получить все права достаточно в текстовом редакторе открыть вашу программу... а если пользователей будет дофига? а если надо сделать разные вьюшки? а если ...?
__________________
Запомните раз и навсегда: помочь != "решите за меня"!
p51x вне форума   Ответить с цитированием
Старый 22.06.2018, 09:30   #8
Heneken87
Форумчанин
 
Регистрация: 27.04.2012
Сообщений: 168
Репутация: 39
По умолчанию

Цитата:
Сообщение от al.tarin Посмотреть сообщение
Не совсем тогда понимаю, для чего присваивать уровень пользователя. Нельзя просто если ввел такой-то логин, то показывается одна информация, а если другой, то вся?
Практика показывает, что пользователю иногда требуется что-то дать или забрать, а так же сегодня 1 пользователь, завтра другой. Чтобы не городить в коде по каждому пользователю условия If then, для этого Вам и предлагают модели. Саму модель выносят за пределы ПО(в INI, в БД, в XML). А код программы только включает/выключает элементы интерфейса согласно содержанию модели. Таким образом, при добавлении или изменении пользователя достаточно назначить ему права/уровни. Код самой ПО переписывать не потребуется.
P/S/ С таким подходом, вы решите вопрос доступов раз и навсегда и больше без явной необходимости не полезете в код
__________________
Пишу много и развернуто

Последний раз редактировалось Heneken87; 22.06.2018 в 09:35.
Heneken87 вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кэш к приложению SviteR Java Мобильная разработка (Android) 1 25.02.2014 12:47
Post запрос к приложению VK TSu Работа с сетью в Delphi 0 17.07.2013 22:09
Вопрос по mfc приложению volk-z Visual C++ 2 10.01.2013 21:07
Подключение класса к приложению Kukkk Общие вопросы C/C++ 3 17.02.2010 01:51
послать текст приложению FloopyMan Общие вопросы Delphi 10 17.03.2009 11:27


23:37.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


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