hooks-authentication-hooks: restrictToRoles для пользователя с более чем одной ролью
Я реализовал feathers-authentication-hooks
в моем проекте, и он работает, проверяя пользовательский столбец, содержащий роль. Теперь я хочу, чтобы он работал с более чем одной ролью на пользователя. Я пробовал несколько форматов в столбце базы данных, но все не удалось:
Форматы данных (точный формат на строку):
role1, role2
role1; role2
[role1,role2]
{"column_name": ["role1","role2"]}
кто-то знает, что мне нужно делать?
1 ответ
Решение
Большинство хуков в этом пакете могут быть реализованы вручную часто с тем же объемом кода и меньшим временем, чем требуется для чтения документации. В этом случае для вашего примера с пользовательским хуком, как это:
const { Unauthorized } = require('feathers-errors');
return function() {
return function(context) {
if(context.params.user.roles.indexOf('admin') === -1) {
throw new Unauthorized('You are not allowed to access this');
}
}
}