在中间件里可以得到请求,在它上面我们可以添加点东西, 先打开 core/middlewares 里的这个演示中间件。
在这个中间件里,可以在 req ,就是请求的上面,添加一个 user, 它是一个对象,暂时里面先放一个 roles 属性,值是一个数组, 添加一个 guest。
下面可以做一些判断,比如检查请求的用户的登录状态, 为了演示这里只要求在请求里包含一个 x-demo 头部信息, 它的值是 secret。
如果满足这个条件,重新设置一下 req.user , 给它一个 roles 属性, 数组里添加一个 member , 它表示的就是当前用户拥有的角色。
这个中间件之前我们把它用在 App 这个模块里了, 使用它的时候设置了一下应用的路由是 posts。
也就是,现在请求 posts 地址的时候, 就会在请求的上面添加一个 user 属性,里面有个 roles ,默认它的值是 guest。
如果在请求的时候配置了一个 x-demo 这个 header ,它的值如果是 secret , 这样在请求上添加的 user 属性里面,roles 的值里面就会包含一个 member 项目。