目前打算用 rbac 管理公司项目的权限,建立了五张表,user,role,permission,role_permission,user_role,不使用外键,我使用的是 sqlalchemy 。 现在问题是:
1.不使用外键之后,查询操作好像变麻烦了,比如我要查用户,带出他的角色,那我就要先查出用户,根据 user_id 再执行一次操作,从 user_role 中找出 role_id,如果需要角色名信息,我还要用 role_id 去 role 表中再查出 role_name 。感觉自己要手动执行三次 sql 查询,麻烦了。 还有就是,我创建用户,需要先从 role 表中查询出 role_id,然后把用户数据插入 user 表,再拿到 user_id 和 role_id 一起插入 user_role 表,一次查询和两次插入,都是自己手动在 orm 中维护,代码量增加不少,变得更麻烦了。而且两次插入我是启事务执行的,这个是不是就变得和外键一样了?
2.rbac 是在后台给角色配权限名,那开发者每写一个接口,都去后台指定哪些角色可以 access 这个接口,会不会比较麻烦,各位怎么看
各位大佬给萌新一个建议吧。 感觉自己好纠结,开发也有两年了,每每做项目都会纠结,好不开心啊,可每当我写起代码时,思索逻辑时,我心中仍然还有热情,大佬们指点一下吧
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.