Как запретить роли видеть все индексы кроме тех, к которым есть доступ?
Есть неймспейс проекта, в него пишется 2 индекса с прода и теста.
Есть роль, у которой привелегии настроены на доступ только к индексу теста.
Когда пользователь в этой роли авторизируется, то у него есть возможность видеть все индексы в этом неймспейсе (просматривать сами логи возможности у него нет), даже к тем, доступ к которым не надам.
Есть ли возможность убрать отображение индекса для прода(и любых других), если к ним нет доступа?
Или сделать индекс теста дефолтным (дефолтное отображение можно назначить в настройках неймспейса, но это не подходит, нужно дефолтное отображение относительно роли)
Дополнительно:
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос

Для того чтобы запретить определенным пользователям видеть все индексы, кроме тех, к которым у них есть доступ, можно использовать различные способы и технологии в зависимости от специфики вашего проекта. Ниже приведен пример использования PHP и MySQL для решения данной проблемы.
1. Сначала необходимо создать таблицу в базе данных, где будут храниться данные о доступе пользователей к индексам. Пример структуры таблицы:
CREATE TABLE access ( id INT PRIMARY KEY AUTO_INCREMENT, user_id INT, index_id INT );
2. Далее необходимо реализовать логику проверки доступа к индексам. Пример функции, которая будет проверять доступ пользователя к конкретному индексу:
function checkAccess($user_id, $index_id) { $db = new PDO("mysql:host=localhost;dbname=your_db", "username", "password"); $stmt = $db->prepare("SELECT COUNT(*) FROM access WHERE user_id = :user_id AND index_id = :index_id"); $stmt->bindParam(':user_id', $user_id); $stmt->bindParam(':index_id', $index_id); $stmt->execute(); $result = $stmt->fetchColumn(); return $result > 0; }
3. Теперь необходимо добавить проверку доступа к индексам в вашем приложении. Пример:
$user_id = 1; // ID пользователя $index_id = 5; // ID индекса if (checkAccess($user_id, $index_id)) { // Пользователь имеет доступ к индексу // Ваш код для отображения индекса } else { // Пользователь не имеет доступа к индексу echo "У вас нет доступа к данному индексу"; }
Это лишь пример реализации, в зависимости от вашего проекта и требований могут быть внесены изменения. Надеюсь, данная информация поможет вам решить проблему с ограничением доступа к индексам для определенных пользователей.