У меня есть помощник Dust.js где я применить некоторые аКЛ логику следующим образом:Dust.js Шаблон пользовательского Helper в Bootstrap непоследовательность
'use strict';
import dust from 'dustjs-linkedin';
import acl from '../config/acl';
dust.helpers.accessControl = function(chunk, context, bodies, params) {
let userId = params.userId;
let resource = params.resource;
let permission = params.permission;
acl.acl.isAllowed(userId, resource, permission, function(err, res){
if(res){
chunk.render(bodies.block, context);
return chunk;
}
else {
return chunk;
}
});
};
В шаблоне:
{@accessControl userId=user._id resource="/admin" permission="get"}
<li class="nav-item">
<a class="nav-link" ng-class="{'active' : getPath()[0] == 'admin'}" href="/admin">Admin</a>
</li>
{/accessControl}
Помощники получает правильно заданы правильные параметры, а node_acl правильно разрешает пользователю (res
в обратном вызове - true
). Во многих местах в пределах своих шаблонов, он отображает предполагаемое поведение, для Bootstrap 3 навигационной панели, где он обычно не делает ничего, кроме, а иногда и ниже ул в навигационной панели:
Любые мысли? Обратите внимание, что я использую Angular для размещения активного класса в ссылках, это не SPA, и глубокая привязка отключена, но ему нечего делать, поскольку шаблоны визуализируются на стороне сервера. Благодаря!