Я думаю, что то, что вы хотите сделать, обычно называют охранниками (или воротами). Обычно это выполняется промежуточным ПО, но промежуточное ПО может использоваться гораздо больше.
В вашем конкретном экземпляре c вы можете включить промежуточное ПО admin.js
в компоненте, добавив middleware: 'admin'
в скрипт компонента. .
Вы правы в отношении поля роли для пользователя. Вам нужно будет добавить роли в пользовательскую таблицу (и, возможно, модель тоже). Вы сможете увидеть это в Vue инструментах разработчика. Вы можете добавить его как текстовое поле или просто перечисление. Есть лучшие способы использования таблицы ролей. Но перечисление быстрое и грязное.
admin.js
только защищает от роли "администратора", поэтому вы можете просто скопировать / вставить файл и изменить store.getters['auth/user'].role !== 'admin'
на любую роль, которую хотите защитить. Все файлы в каталоге js/middleware/
выглядят автоматически загружаемыми из js/router/index.js
Например, если вы создаете промежуточное программное обеспечение с именем superUser.js
и меняете защиту на store.getters['auth/user'].role !== 'superUser'
Вы добавили бы middleware: 'superUser'
к своему компоненту ,