跳到主要内容

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 的关系

维度完整 IdentityBasicIdentity
用户实体IdentityUser(含审计/多租户/声明等)Usersys_user,精简字段 + Role 字符串)
角色IdentityRole 表 + 多对多 + 数据范围仅一个字符串字段 RoleAdmin/User,见 RoleConst
权限完整权限树 + IPermissionManagerBasicIdentityPermissionStore(只校验 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 之上)

相关文档