Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Вниз

Как реализовать "права пользователя" в своей программе? (БД)   Найти похожие ветки 

 
Gusev   (2008-01-22 13:23) [0]

Написал простую БД: Delphi + Access...
Пароль на вход, три таблицы, экспорт в Excel... Думал, что в остальном проблем не будет. Но тут меня попросили "разделить" эти три таблицы в Access на трёх разных пользователей! Т.е. чтобы каждый мог работать, редактировать данные только своей!
Как это сделать? - Запуск с ключом, четвёртая таблица (пользователь-пароль),...
Посоветуйте лучшее решение!


 
fics ©   (2008-01-22 13:57) [1]

Зачем тебе таблица всего из трех пользователей?


 
Sergey13 ©   (2008-01-22 14:25) [2]

> [0] Gusev   (22.01.08 13:23)

Переделай БД например на FireBird или еще какой серверок. Получишь встроенную возможность заводить пользователей и раздавать им права.
А так - добавь идентификатор пользователя в таблицы с данными и учитывай это поле при запросах.


 
sniknik ©   (2008-01-22 15:34) [3]

> Получишь встроенную возможность заводить пользователей и раздавать им права.
такая возможность в аксесс тоже есть. т.е. если только ради этого то не стоит менять.
вот изза того что работает 3 человека (по сети наверняка), а используется база локального типа... вот это уже причина посерьезнее (стоит сменить).
если же они на одной машине по очереди работают, то фигня, можно и в аксессе пользователей завести, и раздать им права.


 
Gusev   (2008-01-22 15:53) [4]

> 3 человека (по сети наверняка)
именно так!

> А так - добавь идентификатор пользователя в таблицы с данными и учитывай это поле при запросах...
Мне кажется, что решение будет простым... Но как соединить всё воедино!?!? Ведь, смотрите:
- 3 пользователя = 3 таблицы (т.е. не плохо было связать логин и таблицу), ну разьве что администратору оставить доступ ко всем)... но как пароль привязать к таблице?


 
Ega23 ©   (2008-01-22 15:55) [5]


> > 3 человека (по сети наверняка)
> именно так!


В данной ситуации выбор Access несколько странен.
Возьми хотя бы MSDE (бесплатный усечённый MSSQL Server)


 
sniknik ©   (2008-01-22 16:18) [6]

> но как пароль привязать к таблице?
не надо "самопала", практически везде есть юзеры, и у них есть права, сделай 4-ре "учетки" 1 админсскую на все, и 3 с правами только на одну таблицу и все. под какой задет на то права и будут.


 
Gusev   (2008-01-22 16:30) [7]

> В данной ситуации выбор Access несколько странен.
Возьми хотя бы MSDE (бесплатный усечённый MSSQL Server)

1. Пользователи будут вносить свои данные поочерёдно (чаще всего), так что зачем мощная БД?
2. Мы не админы... и тем более просить что-то устаналвивать, настраивать....
3. Я читал, что по сети одновременно с Access в сети могут работать (носрмально) до 14 пользхователей.

> не надо "самопала", практически везде есть юзеры, и у них есть права, сделай 4-ре "учетки" 1 админсскую на все
И как "считать" эти учётные записи в Delphi? У меня нормальная готовая оболочка (которая всех устраивает), использующая Access, как хранилище.

Плюс я беспокоюсь, если пользователь поменяется (пр.: Иванов --> Сидоров), или добавится новый! Если бы мы связали учётные записи с таблицами, то было бы достаточно просто создать новую в Access, или переименовать заголовок!


 
Sergey13 ©   (2008-01-22 16:39) [8]

> [4] Gusev   (22.01.08 15:53)
> - 3 пользователя = 3 таблицы

Это самый тупиковый тупик без выхода. Ни в коем случае!
Если в твоей БД существуют две (или более) таблиц с одинаковой структурой, это как правило недоработка проектирования и следует оставить 1 таблицу и добавить в нее поле- признак отличия одних записей от других.



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.02.17;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.059 c
15-1200600130
Kostafey
2008-01-17 23:02
2008.02.17
Отбросить все, оставить главное.


2-1201008769
andiv
2008-01-22 16:32
2008.02.17
изображение в MySql (blob)


15-1200427617
Real
2008-01-15 23:06
2008.02.17
Symantec11 и Daemon Tools


15-1200562674
ZoldBerger
2008-01-17 12:37
2008.02.17
МОДЕРАТОР !!! Почему так сделал:?


2-1201085745
Mariya
2008-01-23 13:55
2008.02.17
WorkBook.WorkSheets[1].Cells[1,1]:=tbmain.FieldValues[ Zvanie ];





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский