我看到的几乎每个Express应用程序都有一个app.use中间件声明,但我没有找到一个清晰,简洁的解释,说明中间件实际上是什么以及app.use声明正在做什么.即便是快递文件本身也有点模糊.你能帮我解释一下这些概念吗?
我是表达和node.js的新手,我无法弄清楚app.use和app.get之间的区别.看起来你可以使用它们来发送信息.例如:
app.use('/',function(req, res,next) {
res.send('Hello');
next();
});
Run Code Online (Sandbox Code Playgroud)
似乎与此相同:
app.get('/', function (req,res) {
res.send('Hello');
});
Run Code Online (Sandbox Code Playgroud) 我目前正在尝试设置管理员角色,以便使用以下提供的文档访问简单的管理页面:connect-roles
我一直在用它撞击它一段时间,我仍然迷失在如何设置角色EG现在正在从DB中提取管理员值并暂时将其存储在全局变量中但是我没有想法如何使用连接角色说明只允许访问特定用户的管理页面.
任何人都可以澄清或展示如何执行此操作的示例/一些指导,因为我的文档无法帮助我确保只有在用户是管理员时才能访问网页?
Ave发布了一些代码,显示了目前的样子.
码
var admin = 'Admin';
var mysql = require('mysql');
var connection = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'test'
});
var passport = require('passport');
var ConnectRoles = require('connect-roles');
var roles = new ConnectRoles();
var passportLocal = require('passport-local');
app.use(passport.initialize());
app.use(passport.session());
app.use(roles.middleware());
passport.use(new passportLocal.Strategy(function (username, password, done) {
connection.query({
sql : 'SELECT * from `userman_users` WHERE `username`= ?AND`password` = sha1(?)',
timeout : 40000, // 40s
values : [username, password]
}, function …Run Code Online (Sandbox Code Playgroud)