Skip to content

小橙时光机

Notes

strapi插件之users-permissions

2019/12/06

users-permissions插件

创建strapi项目后,可以在package.json中看到依赖了strapi-plugin-users-permissions插件。 users-permissions是strapi必须的插件,卸载后,/admin 功能将不可用。

users-permissions插件使用jwt进行用户认证。 安装插件后,中间件会拦截strapi的每个请求,根据角色权限来判定当前请求是否可以放行。

系统默认了创建了 AuthenticatedPublic两个角色。 用户登陆后,拥有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!


pansinm
pansinm
千里之行始于足下