Строим блог на Areto фреймворк

Доступ к модулю

Для защиты модуля администрирования от неавторизованного доступа, в объектах класса Admin применяется фильтр areto/filters/AccessControl. Фильтр базируется на правилах, определяемых в параметре rules. Каждый элемент правила инициализирует объект класса areto/filters/AccessRule.

Свойство allow определяет тип правила - разрешающее (true) или запрещающее (false). Свойство roles содержит массив ролей, для которых разрешается правило. Помимо ролей определенных в rbac/items, доступны две встроенные роли:

  • ? - обозначает анонимного (guest) пользователя.
  • @ - обозначает залогиненного пользователя.

modules/admin/module.js

'use strict';
const Base = require('areto/base/Module');
class Admin extends Base {
  static getConstants ()  {
    return {
      BEHAVIORS: {
        access: {
          Class: require('areto/filters/AccessControl'),
          rules: [{
            allow: true,
            roles: ['reader']
          }]
        }
      }
    };
  }
}
module.exports = new (Admin.init(module));

Если пользователь анонимен, то фильтр переадресует его на форму входа. Для залогиненного пользователя, который не имеет права доступа, отображается сообщение «403 Доступ запрещен».