SmartAdmin 10.12.1

dotnet add package SmartAdmin --version 10.12.1
                    
NuGet\Install-Package SmartAdmin -Version 10.12.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="SmartAdmin" Version="10.12.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="SmartAdmin" Version="10.12.1" />
                    
Directory.Packages.props
<PackageReference Include="SmartAdmin" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add SmartAdmin --version 10.12.1
                    
#r "nuget: SmartAdmin, 10.12.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package SmartAdmin@10.12.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=SmartAdmin&version=10.12.1
                    
Install as a Cake Addin
#tool nuget:?package=SmartAdmin&version=10.12.1
                    
Install as a Cake Tool

English | 简体中文

SmartAdmin

可替换的现代企业后台管理内核:AI 辅助开发,简单高效;装上即用,升级只改版本号。

License Stars Forks NuGet npm .NET 10 Build

📖 文档 · 🚀 快速开始 · 📋 更新日志


这是什么

SmartAdmin 是给 .NET 10 / ASP.NET Core 项目用的企业后台底座。登录、用户、角色、菜单权限、机构与数据权限、字典、配置、日志、文件、定时任务,这些每个后台都要做的功能已经做好,连同管理界面一起发成两个包:

  • 后端:NuGet 包 SmartAdmin
  • 前端:npm 包 smart-admin-web(Vue 3 + Naive UI)

装上它们,你就有了一个能登录、能管用户和权限的完整后台,接下来只写自己的业务。内核代码不进你的仓库,升级时把两个包改到同一个新版本号就行;内置的哪一环不合用,都能换成你自己的实现。

快速开始

需要 .NET 10 SDK 和 Node.js 22.12 以上。

第一步:生成后端项目并启动

dotnet new install SmartAdmin.Templates
dotnet new smart-app -n MyApp
cd MyApp
dotnet run

后端监听 http://localhost:5100,默认用 SQLite,首次启动自动建表。控制台会打印超级管理员账号 superAdmin 和一个随机密码,密码只显示这一次,先记下来。

第二步:拉取前端并启动

另开一个终端,仍在 MyApp 目录下:

npx degit SmartCode-X/SmartAdmin/web/template web
cd web
npm install
npm run dev

浏览器打开 http://localhost:5173,用上一步的账号密码登录。

已有 ASP.NET Core 项目:装元包,再在 Program.cs 里注册。

dotnet add package SmartAdmin
builder.Services.AddSmartAdmin(builder.Configuration,
    o => o.ApplicationAssemblies.Add(typeof(Program).Assembly)); // 本程序集的实体自动建表、控制器自动挂路由
var app = builder.Build();
app.MapSmartAdmin();
app.Run();

前端照第二步拉取。上生产前必须配置 JWT 签名密钥 SmartAdmin:Jwt:SecretKey,其余见部署

下一步

想做的事 看这篇
加一个业务模块(表、接口、权限) 加一个业务模块
给它做管理页面 前端加一个页面
换成 MySQL / SQL Server / PostgreSQL 换掉默认数据库
改掉内置行为(登录流程、密码哈希、缓存等) 替换内置服务
加定时任务、接导入导出 定时任务 · 导入导出
接大模型(AI 审批之类的场景) AI 模型
部署上线、升级版本 部署 · 升级到新版本
了解整体设计 核心概念 · 运行时架构图
让 AI 助手按规范写代码 Agent Skills

内置功能

  • 认证:账号密码、JWT 与刷新令牌、登录锁定、在线会话与强制下线、密码策略;可开图形验证码、短信或 TOTP 二次验证、第三方登录(内置 OIDC,企业微信、钉钉、微信、GitHub 为可选包)
  • 权限:角色,目录 / 页面 / 按钮三级菜单,权限码就是接口路由;五种机构数据范围,查询自动隔离,业务代码不写机构条件
  • 系统管理:机构、岗位、用户、多应用门户、字典、配置中心、通知公告、回收站
  • 运维:操作 / 登录 / 异常日志,文件上传(分片续传、签名直链),定时任务(cron、固定间隔、一次性),服务器监控与健康检查
  • AI 管理:大模型接入网关 IAiChatClient,OpenAI 兼容与 Anthropic 两套协议覆盖 OpenAI、Azure OpenAI、DeepSeek、通义千问、智谱、Kimi、豆包、Gemini、Ollama 等预置厂商,Key 加密落库,按厂商 / 模型 / 场景 / 用户记 Token 用量
  • 数据库:SQLite、MySQL、SQL Server、PostgreSQL,改一段配置切换;可选 Redis,支持多副本部署
  • 管理界面:动态菜单路由、按钮级权限、明暗主题、三套登录皮肤、中英双语,以及表格、表单、字典、上传、导入向导等常用组件

说明
SmartAdmin 后端元包,装它就够,包含下面四个内核包
SmartAdmin.Core / .SqlSugar / .Services / .AspNetCore 内核分层:契约、数据层、业务服务、ASP.NET Core 接入
SmartAdmin.Excel 可选:xlsx 导入导出
SmartAdmin.Caching.Redis 可选:Redis 缓存,多副本共享会话
SmartAdmin.Auth.WeCom / .DingTalk / .WeChat / .GitHub 可选:第三方登录
SmartAdmin.Testing 测试项目用:整站起宿主,四种数据库的测试库
SmartAdmin.Templates dotnet new smart-app 项目模板
smart-admin-web(npm) 前端管理界面:布局、动态路由、全部内置页面与组件

所有包共用一个版本号,前后端填同一个数字;主版本跟随 .NET 主版本(10.x 对应 .NET 10)。

参与与许可

欢迎 issue 和 PR。本地开发、跑测试的方法见贡献指南,安全问题按 SECURITY.md 报告。

Apache License 2.0

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.