#node.js
#node.js
Вопрос:
Я пытаюсь использовать node-abac
модуль для контроля доступа. Я понимаю, что он не обновлялся в течение 4 лет (на момент написания), но, возможно, это поправимо.
После настройки node-abac
с помощью политики я получаю ошибку заголовка во время выполнения здесь:
node_modulesnode-abaclibabac.js:27 this._validator = new Validator(Policy);
Политика:
const nodeAbac = require('node-abac');
const accessPolicy = {
attributes: {
user: {
role: 'Is A Site Owner',
dateJoined: 'Member for over 1 year'
}
},
rules: {
'fullAccess': {
attributes: {
'user.role': {
comparison_type: 'String',
comparison: 'isStrictlyEqual',
value: 'owner'
}
}
},
'canModerateReviews': {
attributes: {
'user.dateJoined': {
comparison_type: "datetime",
comparison: "isLessRecentThan",
value: "-1Y"
},
'user.reviews.length': {
comparison_type: 'numeric',
comparison: 'isGreaterThanEqualTo',
value: '12'
}
}
}
}
}
const accessControl = nodeAbac(accessPolicy);
module.exports = accessControl;
Ответ №1:
Обнаружена проблема. Я строил accessControl
неправильно, без new
ключевого слова.
const accessControl = new nodeAbac(accesspolicy);
Теперь перейдем к поиску других ошибок реализации!