BasicIdentity 基础认证
FreeKit.BasicIdentity 是 Identity 的轻量级认证子模块,面向"只需要登录 + 用户资料,不需要完整 RBAC/租户/组织架构"的场景。它复用了 Identity 的底层能力(AddFreeKitCore、FreeSql、Token 机制、邮件发送),但用一套简化用户模型替代了完整的 IdentityUser + 角色/权限体系。
为什么存在(轻量裁剪)
完整 Identity 引入 20+ 控制器、权限树、租户、组织、设备等多套子域,部署体量与心智负担都更大。BasicIdentity 只保留"认证"这一最小内核:用户注册、登录、资料,仅 BasicIdentityModuleStartup.Configure 同步 User / UserToken 两张表,依赖更小、上手更快。适合内部工具、Demo、小规模项目,以及只想"先跑起来"的阶段。
一句话:BasicIdentity 是完整 Identity 的"认证子集"——同一套登录与 Token 机制,砍掉 RBAC、租户、组织、设备等多套子域,用一个
Role字符串常量(见RoleConst)代替角色权限体系。
功能概览
| 能力 | 说明 |
|---|---|
| 用户注册 | 用户名 + 密码 + 邮箱注册 |
| 用户登录 | 用户名/密码登录,返回 JWT Token |
| 用户资料 | 个人资料查看与修改、头像 |
| 刷新/注销 | RefreshToken 换新、注销吊销 |
与完整 Identity 的关系
| 维度 | 完整 Identity | BasicIdentity |
|---|---|---|
| 用户实体 | IdentityUser(含审计/多租户/声明等) | User(sys_user,精简字段 + Role 字符串) |
| 角色 | IdentityRole 表 + 多对多 + 数据范围 | 仅一个字符串字段 Role(Admin/User,见 RoleConst) |
| 权限 | 完整权限树 + IPermissionManager | BasicIdentityPermissionStore(只校验 Token 有效性) |
| 租户 / 组织 / 员工 | 支持 | 不支持 |
| 控制器 | 20+ 个 | 仅 Account / Profile / User(自测) |
用户写操作的入口是注册命令与资料命令;没有类似完整 Identity 的"用户 CRUD 控制器"。
UserController仅含test-role-admin/test-role-user两个鉴权自测端点。
快速开始
1. 注册服务
// Program.cs
builder.Services.AddBasicIdentity();
2. 配置
{
"ConnectionStrings": {
"DefaultDB": "0"
}
}
3. 启动
dotnet run --project src/Services/Host/FreeKit.Host
适用场景
| 场景 | 推荐 |
|---|---|
| 小型项目 / 只需登录 | BasicIdentity |
| 需要完整权限(RBAC/数据范围) | Identity |
| 需要会员体系(等级/积分/标签) | Member(构建在 Identity 之上) |