Menu

用户登录与数据库

前置步骤

开始开发业务功能之前,请确认已完成以下前置步骤:

架构概览

lib/auth/
├── auth-client.ts      # Better-auth client 定义
├── index.ts            # Better-auth 核心配置
├── organization.ts     # 团队/组织插件配置:席位守卫、邀请邮件、删除守卫
└── server.ts           # 服务端通用方法:获取 session、判断管理员、解析当前工作区
 
lib/db/
├── migrations/         # 通过命令 `npm run db:generate` 生成的迁移文件
├── config.ts           # 数据库参数配置,自动化处理
├── index.ts            # Drizzle ORM 配置入口
└── schema.ts           # 数据表定义(含 organization / member / invitation 团队三表)
 
components/auth/
├── AuthGuard.tsx       # 路由守护,保护需要登录才可访问的路由、需要管理员身份才能访问的路由
├── GoogleOneTap.tsx    # Google 一键登录脚本
├── LoginDialog.tsx     # 登录弹框
└── LoginForm.tsx       # 登录表单
 
actions/
├── users/              # 用户相关数据库操作
├── team/               # 团队管理页的数据层
├── blogs/              # 博客相关数据库操作
└── .../                # 其他

接下来的文档将基于当前的架构展开介绍。

团队功能

v4.0.0 起,模板内置了基于 Better Auth organization 插件的团队能力:组织作为计费主体、共享积分池、席位管理、邮件邀请。详见团队与组织