Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

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

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.08.2011, 10:13   #1
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
Смущение Права доступа в системах CRM

Добрый день!
В современных системах CRM (Client Relationship Management) имплементируются различные модули и возможности (Ex.: статистика, аналитика, финансы, бухгалтерия и т.д.) для осуществления деятельности компании. При этом, организовываются различные уровни прав доступа (Ex.: суперпользователь, менеджер, клиент, наблюдатель и т.д.), каждый из которых имеет только определённые возможности (Ex.: клиент может только видеть историю своих платежей, наблюдатель только смотрит все данные, но не может их изменить, менеджеру доступны функции бухгалтерии, но не доступен финансовый модуль). Проще говоря, нужно разработать определённый универсальный алгорим на PHP который будет определять в соответствии с определённым правом доступа - показывать ему ту или иную возможность/модуль/кнопку/ссылку или нет.
Вопрос: как индексировать (назначить тег) на возможность/модуль/кнопку/ссылку на странице для определённого пользователя?
Che Guevara вне форума Ответить с цитированием
Старый 18.08.2011, 10:36   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Можно вести в таблице групп пользователей список разрешенного/запрещенного.
Можно завести отдельную таблицу отношений права-группы
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 18.08.2011, 10:36   #3
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Можно вести в таблице групп пользователей список разрешенного/запрещенного.
Можно завести отдельную таблицу отношений права-группы
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 18.08.2011, 11:03   #4
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

2Naive
У меня уже есть таблица где указано id | title | access | note с записями 1 | Суперпользователь | Административный | Нет
Авторизуюсь и в сессии объявляю уровень доступа всем страницам. А дальше? Просто проверять если право - суперпользователь - тогда показывать кнопку если нет- то нет - ИМХО дурной тон.
Che Guevara вне форума Ответить с цитированием
Старый 18.08.2011, 11:33   #5
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
По умолчанию

Предлагаю XML записи, в которых будет для каждого типа юзера описываться PHP файлы, которые разрешено подгружать данному типу юзеров.
Jakethefish вне форума Ответить с цитированием
Старый 18.08.2011, 11:47   #6
Cronos20
Форумчанин
 
Регистрация: 08.07.2010
Сообщений: 679
По умолчанию

Посмотрите ... здесь и здесь может поможет в плане концепций
Cronos20 вне форума Ответить с цитированием
Старый 18.08.2011, 12:15   #7
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Цитата:
Сообщение от Jakethefish Посмотреть сообщение
Предлагаю XML записи, в которых будет для каждого типа юзера описываться PHP файлы, которые разрешено подгружать данному типу юзеров.
OK, а как быть с многочисленными кнопками/ссылками?
Che Guevara вне форума Ответить с цитированием
Старый 18.08.2011, 12:40   #8
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Che Guevara Посмотреть сообщение
OK, а как быть с многочисленными кнопками/ссылками?
Только так, как вы и говорили:
Цитата:
проверять если право - суперпользователь - тогда показывать кнопку если нет- то нет
Это оптимальный вариант - ну не копипастить же кучу похожих шаблонов, только "вот тут без кнопочки/ссылочки - это для юзера", "вот тут с элементами редактирования/удаления - это для модератора", etc...

Для этого дела лучше использовать числовые уровни доступа, их быстрее/удобнее обрабатывать.
Andkorol вне форума Ответить с цитированием
Старый 18.08.2011, 13:02   #9
Che Guevara
Пользователь
 
Аватар для Che Guevara
 
Регистрация: 27.07.2010
Сообщений: 91
По умолчанию

Цитата:
Это оптимальный вариант - ну не копипастить же кучу похожих шаблонов, только "вот тут без кнопочки/ссылочки - это для юзера", "вот тут с элементами редактирования/удаления - это для модератора", etc...
Всё верно. Только вот сегодня эту группу кнопочек/ссылочек нужно показывать юзеру а завтра уже нет. Придётся изменять конструкцию ЕСЛИ-ТО во всех файлах... По этому думаю каждому типу пользователей создать табличку с полями элементов, которые запрещены этому конкретному пользователю.
Che Guevara вне форума Ответить с цитированием
Старый 18.08.2011, 13:47   #10
Andkorol
Старожил
 
Регистрация: 31.05.2010
Сообщений: 3,301
По умолчанию

Цитата:
Сообщение от Che Guevara Посмотреть сообщение
Всё верно. Только вот сегодня эту группу кнопочек/ссылочек нужно показывать юзеру а завтра уже нет. Придётся изменять конструкцию ЕСЛИ-ТО во всех файлах...
Ну, если вы планируете так уж часто изменять доступность некоторых опций для разных групп пользователей - то вам бы желательно такие "гибкие" места в интерфейсах выносить в отдельные шаблоны, и подключать в нужных страницах.
Тогда править придется только в одном месте(шаблоне).

Или же использовать более широкие числовые диапазоны для уровней доступа.
Это позволит указывать для "гибких" элементов интерфейса промежуточные значения уровня доступа к ним.

Цитата:
По этому думаю каждому типу пользователей создать табличку с полями элементов, которые запрещены этому конкретному пользователю.
Тогда уж правильнее будет прописывать только разрешенные элементы интерфейса и опции - их может оказаться в разы меньше для группы пользователей, чем запрещенных.
Кроме того - это избавит вас от проблемы "добавил фичу для Админа - и забыл ее запретить для одной из групп".
В этом случае у вас новую фичу смогут использовать только те группы, которым вы это разрешили в ручном режиме.
Andkorol вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
права доступа serres Общие вопросы .NET 1 28.02.2010 22:06
Права доступа к директории Linel PHP 7 04.12.2009 16:23
Права доступа Olejik Общие вопросы C/C++ 0 02.12.2009 15:38
Права доступа L_M Операционные системы общие вопросы 1 19.07.2009 08:09
Права доступа usera Anna_fors Компьютерное железо 0 28.03.2008 14:06