用户登录

随便打开一个内容 .. 按一下页面右下角的这个编辑链接 .. 现在不管内容的作者是谁 .. 任何人都可以随便编辑所有的文章内容 ..

现在我要去添加一点限制,就是除了管理员以外,让用户只能编辑自己发布的文章内容 .. 这个限制我们可以通过一个 Middleware 完成 ..

回到命令行 .. 可以先去创建一个 Middleware .. adonis make:middleware Own ... 创建一个叫 Own 的中间件 ... 选择 For Http Reqeust .. 为 Http 请求准备的中间件 ...

项目的中间件一般会放在 app .. Middleware 这里 .. 打开刚才创建的这个 Own .. 中间件是个类 .. 里面默认有个 handle 方法 ..

方法的第一个参数是表示请求的 context .. 这里已经给我们把 reqeust ,从 context 里面解构出来了 .. 另外你还可以用像 response,auth,session 之类的东西 ..

第二个参数是 next 这个方法 .. 中间件就是加工处理请求用的一种东西 .. 在这个 handle 方法里,你可以在修改请求,可以在请求上添加新的东西 .. 完成以后,应该使用这个 next() 方法,这样请求会继续流到下一个中间件那里 ..

我们先在这个 handle 方法里,用一个 console.log ,在控制台上输出一个 hello middleware ...

这个中间件的位置是 App/Middleware/Own .. 我们可以再给它起个简单点的名字 ... 打开 start ... kernel.js .. 找到里面的 namedMiddleware ... 添加一个项目 .. 名字是 own ... 对应的中间件是 App/Middleware/Own .. 这样使用它的时候,我们就可以使用给它起的 own 这个名字 ..

使用中间件

然后,再找个地方再用一下这个中间件 .. 比如可以在路由上使用中间件 .. 打开 routes.js ... 找到在这里定义的 posts 这个资源类型的路由 ..

之前我们已经在这个路由上添加了要使用的中间件 ... 逗号分隔一下 .. 再添加一个 .. 这个中间件可以用在 update .. destroy .. 还有 edit 这几个方法上 .. 后面是要使用的中间件 .. 添加一个 own ...

回到浏览器 .. 刷新一下这个编辑界面 ..

再回到命令行 .. 打开运行项目的这个命令行标签 ...

上面会显示一个 hello middleware ... 也就是现在,请求文章内容编辑界面的时候,使用了我们定义的 own 这个中间件 ..

创建与使用中间件(添加一个 Own Middleware)《 Node.js 应用:中间件与异常 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点