Як реалізувати - права користувача - у своїй програмі (БД)
Написав просту БД: Delphi+Access. Пароль на вхід, три таблиці, експорт до Excel. Думав, що в решті проблем не буде. Але тут мене попросили "розділити" ці три таблиці в Access на трьох різних користувачів! Тобто. щоб кожен міг працювати, редагувати дані лише своєю! Як це зробити? - Запуск із ключем, четверта таблиця (користувач-пароль). Порадьте найкраще рішення!
Навіщо тобі таблиця всього із трьох користувачів?
> [0] Gusev (22.01.08 13:23)
Перероби БД наприклад на FireBird або ще якийсь серверок. Отримаєш вбудовану можливість заводити користувачів і роздавати їм права. А так - додай ідентифікатор користувача в таблиці з даними і врахуй це поле при запитах.
> Отримаєш вбудовану можливість заводити користувачів і роздавати їм права. Така можливість в аксесуар теж є. тобто. якщо тільки заради цього не варто міняти. ось через те, що працює 3 людини (по мережі напевно), а використовується база локального типу. ось це вже причина серйозніша (варто змінити). Якщо ж вони на одній машині по черзі працюють, то фігня, можна і в аксесі користувачів завести, і роздати їм права.
> 3 особи (по мережі напевно)саме так!
> А так - додай ідентифікатор користувача в таблиці з даними та врахуй це поле при запитах.Мені здається, що рішення буде простим. Але як поєднати все докупи. Адже, дивіться: - 3 користувача = 3 таблиці (тобто. Не погано було зв'язати логін і таблицю), ну хіба що адміністратору залишити доступ до всіх. але як пароль прив'язати до таблиці?
> > 3 особи (по мережі напевно) > саме так!
У цій ситуації вибір Access дещо дивний. Візьми хоча б MSDE (безкоштовнийусічений MSSQL Server)
> Але як пароль прив'язати до таблиці? не треба "самопала", майже скрізь є користувачі, і у них є права, зроби чотири "обліки" 1 адмінську на все, і 3 з правами тільки на одну таблицю і все. під який зачеплений на те права і будуть.
> У цій ситуації вибір Access дещо дивний. Візьми хоча б MSDE (безкоштовний усічений MSSQL Server)1. Користувачі будуть вносити свої дані по черзі (найчастіше), то навіщо потужна БД? 2. Ми не адміни. і тим більше просити щось встановлювати, налаштовувати. 3. Я читав, що по мережі одночасно з Access у мережі можуть працювати (нормально) до 14 користувачів.
> не треба "самопала", практично скрізь є користувачі, і у них є права, зроби 4-ре "обліки" 1 адмінську на всеІ як "рахувати" ці облікові записи в Delphi? У мене нормальна готова оболонка (яка всіх влаштовує), яка використовує Access як сховище.
Плюс я турбуюся, якщо користувач зміниться (пр.: Іванов --> Сидоров), або додасться новий! Якби ми пов'язали облікові записи з таблицями, було б досить просто створити нову в Access, чи перейменувати заголовок!
> [4] Gusev (22.01.08 15:53) > - 3 користувача = 3 таблиці
Це найбільш глухий глухий кут без виходу. У жодному разі! Якщо у твоїй БД існують дві (або більше) таблиць з однаковою структурою, це як правило недоробка проектування і слід залишити 1 таблицю і додати в неї поле- ознака відмінності одних записів від інших.