Вот как я определил бизнес-логику.При нажатии на ссылку на веб-сайте система проверяет:
- Активен ли пользовательский сеанс или нет?- авторизован пользователь или нет.
- Если вы не авторизованы, отобразите окно с сообщением «Пожалуйста, авторизуйтесь».
- Если залогинен - какова его роль?- Администратор, член, бизнес-аккаунт.
- Если учетная запись участника, то система проверит таблицу объектов на предмет просматриваемого объекта (пример фотографии) и проверит настройки конфиденциальности для него (пример: друг друга).
- Вычислить или проверить, имеет ли пользователь, пытающийся получить доступ к объекту, допустимый уровень конфиденциальности, которым обладает объект.
- Если true, тогда экранный объект еще отображает заблокированную страницу.
Это лучший способ сделать это или слишком много вычислять во время выполнения?И я предполагаю, что все это делается во время выполнения, так что я могу сохранить в памяти и для чего мне нужно запрашивать базу данных?Любые встроенные функции в php codeignitor, чтобы сделать это, или мне нужно написать это с нуля?
Основной вариант использования этого: «Человек A нажимает на ссылку фотографии человека B, где человек A может или не можетвойти в систему, и фотография может иметь уровень конфиденциальности, такой как (общедоступный, друг, друг друга, никто) ИЛИ Лицо A может быть заблокировано Лицом B, поэтому при загрузке страницы Лицо A не увидит никакой ссылки на фотографию Лица B, пока не будет разблокировано«