Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
Возникла такая вот проблема: У фирмы есть N-е количество филиалов, разделенных территориально. У каждого филиала есть свой склад и некоторое количество магазинов (у главного офиса также есть свой склад и магазины). Значит, для того, чтобы в главном офисе знать какие остатки товара на складе у филиалов и магазинов, на Web-сервере организована (PHP+MySQL) система внесения филиалами и магазинами своих остатков. Но есть одна проблема, при внесении остатков, любой филиал или магазин может просмотреть остатки на других филиалах и магазинах. Соответственно передо мной поставили задачу ограничить доступ ко внесенным данным, таким образом, чтобы каждый филиал видел только свои остатки, своих магазинов, и главного офиса. Магазины не должны ничего видеть, только вносить данные. Главный офис должен иметь доступ ко всем данным. И всего лишь несколько (не все) магазинов (принадлежащих главному офису) должны видеть остатки главного офиса. У меня сейчас в БД хранится таблица пользователей, справочник товара и таблица с остатками товара. К каждой единице товара (в таблице остатков) цепляется ID пользователя для определения кому принадлежит остаток данного товара. Для меня составляет трудность составить каким образом инициировать права доступа (как их описать и хранить в базе). Использование пользователей MySQL не подходит, т.к. вся эта беда находится на хостинге и полных прав на MySQL нет. Может хоть кто-то подскажет каким образом организовать работу. Буду благодарен любым подсказкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 17:59 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
Извиняюсь, а чем не подходит вариант завести таблицу ролей (групп) пользователь входит в определенную группу (по филиалам). Соответственно смотрим, в какую группу(ы) входит пользователь, и выводим ему склады (остатки) только по этой группе(ам). Возможны трудности с главным офисом, но преодолевается внесением их во все группы (все филиалы). Операторы из магазинов никуда не вносятся и ничего видеть не могут. Получается связка: оператор - группа - склад - остатки Заводятся соответствующие таблицы и вперед... Обработать напильником до полной готовности!!! ЗЫ MySQL не знаю, поэтому не понимаю, в ЧЕМ ИМЕННО заключается проблема ЗЗЫ Написал первое, что пришло в голову. Просьба помидорами не закидывать ЗЗЗЫ SlavichИспользование пользователей MySQL не подходит, т.к. вся эта беда находится на хостинге и полных прав на MySQL нет. ИМХО по любому плохо!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.12.2004, 18:47 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
Спасибо за подсказку, ща буду пробовать..... P.S. Получается, что для каждой группы нужно свою таблицу создавать? Или постараться организовать все в одной? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 10:40 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
SlavichСпасибо за подсказку, ща буду пробовать..... P.S. Получается, что для каждой группы нужно свою таблицу создавать? Или постараться организовать все в одной?Имелось в виду это: 1. Уже есть таблица пользователей 2. Создать таблицу группа. Связь с пользователями. (группа -> пользователь 1:N) Таким образом каждый пользователь может входить только в одну группу. По постановке похоже нужно чуть сложнее Добавляем Таблицу вхождения Связи тогда 1:N от пользователей к вхождениям и от группы к вхождениям. Уже получается что пользователь может входить в множество групп и группа может содержать много пользователей (N:M) Так ОДНИМ запросом можно однозначно идентифицировать в какие группы входит пользователь. 3. Склады или остатки цепляются к ID группы (вместо вделанного у тебя ID пользователя). 4. Дальше остается просто напихать в таблици нужные связи. ЗЫ возможно все МОЖНО РЕШИТЬ ПРОЩЕ, но не зная ВСЕЙ постановки задачи трудно точно отвечать. Удачи!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 12:47 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
авторК каждой единице товара (в таблице остатков) цепляется ID пользователя для Если нужно по проще и побыстрее - то можно просто перечислить для ID пользователя - ID других пользователей доступ к остаткам которых необходимо обеспечить... Вот только выборку данных в грид необходимо формировать вьюхой или процедурой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 14:46 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
olol авторК каждой единице товара (в таблице остатков) цепляется ID пользователя для Если нужно по проще и побыстрее - то можно просто перечислить для ID пользователя - ID других пользователей доступ к остаткам которых необходимо обеспечить... Да, я в принципе так и начал строить схему БД, только плохо, что MySQL не работает еще с вьюхами и не поддерживает процедур. Все придется делать на PHP на клиенте. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.12.2004, 15:14 |
|
||
|
Помогите с правами доступа
|
|||
|---|---|---|---|
|
#18+
VoDA SlavichСпасибо за подсказку, ща буду пробовать..... P.S. Получается, что для каждой группы нужно свою таблицу создавать? Или постараться организовать все в одной?Имелось в виду это: 1. Уже есть таблица пользователей 2. Создать таблицу группа. Связь с пользователями. (группа -> пользователь 1:N) Таким образом каждый пользователь может входить только в одну группу. По постановке похоже нужно чуть сложнее Добавляем Таблицу вхождения Связи тогда 1:N от пользователей к вхождениям и от группы к вхождениям. Уже получается что пользователь может входить в множество групп и группа может содержать много пользователей (N:M) Так ОДНИМ запросом можно однозначно идентифицировать в какие группы входит пользователь. 3. Склады или остатки цепляются к ID группы (вместо вделанного у тебя ID пользователя). 4. Дальше остается просто напихать в таблици нужные связи. Удачи!!! Все просто супер.. работает отлично... Очень Вам благодарен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2004, 18:36 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=32816305&tid=1546126]: |
0ms |
get settings: |
11ms |
get forum list: |
18ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
69ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 261ms |
| total: | 421ms |

| 0 / 0 |
