organization-best-practices
作者 better-auth使用 Better Auth 的 organization skill,轻松搭建多租户组织,管理成员、角色、权限和团队,实现基于角色的访问控制(RBAC)。非常适合需要强大组织和访问控制功能的后端开发者。
概述
Better Auth 的 organization skill 帮助后端开发者高效管理多租户组织、成员、团队及基于角色的访问控制(RBAC)。该技能适用于需要高级用户管理的项目,如 SaaS 平台、内部工具,或任何用户隶属于具有不同角色和权限的组织的系统。
通过 organization skill,您可以:
- 配置组织,设定创建和成员数量的自定义限制
- 管理邀请并引导新成员加入
- 定义并分配自定义角色和权限
- 在组织内设置团队
- 实现 RBAC,保障访问安全
该技能非常适合构建需要可扩展、安全且灵活组织管理的后端系统的团队。不适合无组织结构或仅需单用户访问的简单应用。
使用方法
安装步骤
-
将 organization 插件添加到服务器配置中:
import { betterAuth } from "better-auth"; import { organization } from "better-auth/plugins"; export const auth = betterAuth({ plugins: [ organization({ allowUserToCreateOrganization: true, organizationLimit: 5, // 每个用户最多创建的组织数 membershipLimit: 100, // 每个组织最多成员数 }), ], }); -
将 organization 客户端插件添加到客户端配置中:
import { createAuthClient } from "better-auth/client"; import { organizationClient } from "better-auth/client/plugins"; export const authClient = createAuthClient({ plugins: [organizationClient()], }); -
运行数据库迁移:
执行以下命令,创建组织、成员和邀请所需的数据库表:
npx @better-auth/cli migrate -
验证配置:
检查数据库,确认组织、成员和邀请表已成功创建。
创建与管理组织
-
创建组织:
创建组织的用户会自动获得
owner角色。const createOrg = async () => { const { data, error } = await authClient.organization.create({ name: "My Company", slug: "my-company", logo: "https://example.com/logo.png", metadata: { plan: "pro" }, }); }; -
控制谁可以创建组织:
通过自定义插件选项,可以根据用户属性限制组织创建权限。
自定义角色与权限
根据应用需求定义自定义角色和权限。利用插件配置设置 RBAC,实现组织或团队级别的访问管理。
最佳实践
- 查阅
SKILL.md文件,了解详细配置选项和高级用法。 - 根据项目结构和需求调整示例代码。
- 在需要用户分组、团队管理和细粒度访问控制的项目中使用 organization skill。
常见问题
谁适合使用 organization skill?
后端开发者,尤其是构建多租户应用、SaaS 产品或需要强大组织和访问控制功能的系统开发者,将从中受益最大。
安装前需要准备什么?
您需要一个使用 Better Auth 的项目,并能访问后端和数据库,以便配置插件和执行迁移。
可以自定义组织限制和角色吗?
可以,organization skill 允许您设置每个用户的组织数量限制、每个组织的成员数限制,并定义自定义角色和权限。
哪里可以找到更多信息?
请查看仓库中的 SKILL.md 文件,了解高级配置,或浏览 Files 标签获取支持脚本和参考资料。
