Topic: Права доступа для разных юзеров

День добрый!

Вопрос:
Есть необходимость сделать небольшую простенькую программку (БД). Одним из важных условий является необходимость ограничения прав доступа для разных пользователей.
Конкретно:
администратор - полные права на все записи БД,
остальные юзеры - права на редактирование и удаление только тех записей, которые созданы ими, все остальные записи - только просмотр.

Возможно ли такое на сегодняшний момент?

с уважением,

savage

PS спасибо за прекрасный перспективный софт.

Re: Права доступа для разных юзеров

Приветствую,


Думаю возможно с помощью скриптов, но пока не представилось случая протестировать это,  скачайте неофициальную 1.41 версию,  https://www.dropbox.com/s/fr76z69sc69l1 … 201.41.zip


в которую я добавил новую функция для скрипта SQLExecute, которая позволяет делать простой SQL запрос и получить одиночный результат, например для проверки пароля:


s := VarToStr( SQLExecute ('SELECT password FROM users WHERE login="admin") );


после чего в переменной s будет содержаться пароль, который можно проверить с тем, что ввел пользователь, если все ок, то пропускаем и запоминаем в глобальной переменной имя пользователя, чтобы потом использовать ее для проверки прав доступа к редактированию и удалению записей.


Но честно говоря, это довольно условная защита, т.к. пароли в базе хранятся в открытом виде, да и сам скрипт тоже представляет из себя обычный текстовый файл, который может отредактировать любой желающий.

Dmitry.

Re: Права доступа для разных юзеров

ок. Посмотрю сегодня. Сразу отпишусь по результатам.

PS я так понял ,что по локалке можно организовать многопользовательскую схему работы. Вопросы:
1. при одновременной работе нескольких юзеров конфликта не будет?
2. через интернет такое (многопользовательский режим) сделать пока нельзя?

с уважением,

savage

Re: Права доступа для разных юзеров

1. Не будет.


2. Через интернет возможно, только если локальные сети объедены с помощью VPN, либо можно использовать удаленный рабочий стол, напомню, что SQLite, которая используется в программе, не является полноценным клиент-сервером, но многопользовательская работы возможна.

Dmitry.

Re: Права доступа для разных юзеров

DriveSoft wrote:

2. Через интернет возможно, только если локальные сети объедены с помощью VPN, либо можно использовать удаленный рабочий стол, напомню, что SQLite, которая используется в программе, не является полноценным клиент-сервером, но многопользовательская работы возможна.

Через ftp нет?

Re: Права доступа для разных юзеров

savage

Нет )
Никакая база данных не будет работать через ftp.

Dmitry.

Re: Права доступа для разных юзеров

А не могли бы по подробнее, лучше всего пошагово, объяснить для не сильно ведующих в скриптах, что необходимо сделать для решения поставленной в вопросе задачи. Думаю что подобный материал заинтересует многих.

Re: Права доступа для разных юзеров

8kapakym8
сделал пример реализации

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


при запуске проекта, проверяется, есть ли в базе пользователь с правами администратора, если нет, то он создается автоматически с логином admin и паролем admin

Post's attachments

Attachment icon Авторизация.zip 355.65 kb, 485 downloads since 2014-06-27 

Dmitry.

Re: Права доступа для разных юзеров

Да отлично, авторизация есть, но получается нет возможности выставить настройки прав пользователя так, что бы пользователь мог редактировать только созданные именно им контакты?

Re: Права доступа для разных юзеров

8kapakym8
чуть позже выложу пример и для этого случая.

Dmitry.