node.js - 具有express框架的nodejs中的acl权限
问题描述
我正在使用 express 框架开发 nodejs。
我想用 express framwork 在 nodejs 中创建 acl 权限。我正在尝试使用acl 包
server.js 文件:-
要求 acl 包和数据库使用该语法连接。
const node_acl = require('acl');
var database = mongodb://localhost:27017/society_managment
let acl = null;
mongodb.connect(database, (error, db) => {
if (error) {
throw error;
}
acl = new node_acl.mongodbBackend(db, '_acl');
});
route.js 文件:-
var acl = require('acl');
acl = new acl(new acl.memoryBackend());
acl.allow([
{
roles:['Admin'],
allows:[
{resources:'/admin/chairman', permissions:'*'},
]
}
]);
module.exports=function(app,req){
app.route('/admin/chairman')
.get(acl.middleware() , chairman.ChairmanList);
}
访问资源的权限不足显示此错误
我如何在我的代码中使用 acl.middleware() 任何错误
请帮助我,谢谢,
解决方案
我遇到了同样的问题。我尝试过这种方式来解决该问题。
var acl = require('acl');
acl = new acl(new acl.memoryBackend());
acl.allow([
{
roles:['Admin'],
allows:[
{resources:'/admin/chairman', permissions:'*'},
]
}
]);
acl.addUserRoles('joe', 'Admin') //joe username who loggedIn
const isAuthenticated = (req, res, next) => {
if (req.isAuthenticated()) {
next()
}
res.redirect('login')
}
app.get('/api/users', [isAuthenticated, acl.middleware()], (req, res) => {
res.render(__dirname + '/views/user.ejs');
});
推荐阅读
- vba - 如何在 VBA 中的 MS Word 中的 mousedown 上初始化宏?
- javascript - 无法读取未定义 VUEX 的属性“提交”
- c# - 在unity / c#中单击按钮时如何突出显示按钮?
- operating-system - 分页中的用户页面和主管页面有什么区别
- spring-boot - ErrorWebFluxAutoConfiguration 不尊重 ErrorWebExceptionHandler 类型的 Application 中的 bean
- javascript - Moment js 跨时区的日期值比较
- typescript - 是否可以使用联合 @Field 创建 @ArgType
- game-maker - 跳转缓冲区不能很好地与变量跳转
- javascript - 用户登录后如何在passport.authenticate(本地)中返回用户对象?
- c# - 在一个线程中发送数据是错误的吗?