strapi插件之users-permissions
2019/12/06
users-permissions插件
创建strapi项目后,可以在package.json
中看到依赖了strapi-plugin-users-permissions
插件。
users-permissions是strapi必须的插件,卸载后,/admin 功能将不可用。
users-permissions插件使用jwt进行用户认证。 安装插件后,中间件会拦截strapi的每个请求,根据角色权限来判定当前请求是否可以放行。
系统默认了创建了 Authenticated
及 Public
两个角色。
用户登陆后,拥有Authenticated
角色,未登录时,拥有Public
角色。
可以在 /admin 中为不同的角色分配资源访问权限。
详细文档参考 Users & Permissions
禁用users-permissions中间件
使用users-permissions中间件后,为了校验权限,每个请求过来都会查询数据库。
如果我们将strapi服务作为微服务,其他服务可以自由调用,那么不希望浪费数据库IO。
我们可以通过创建 config/environments/production/middleware.json
,按以下配置禁用该中间件。
中间件文档参考 Middlewares
{"users-permissions": {"enabled": false}}
这样,我们就可以愉快地在本地开发,用鼠标点一点,一套CURD接口就完成了。 部署到线上后,既不用数据迁移(users-permissions相关配置), 也不用担心多余的认证开销。简直Nice!