☰
从零到生产:YiShaAdmin 权限管理系统 5 步跑通指南
2026/10/21 20:20:43 网站建设 项目流程

从零到生产:YiShaAdmin 权限管理系统 5 步跑通指南

【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统,代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdmin

YiShaAdmin 是一个基于 .NET Core MVC 的权限管理系统,内置员工、部门、角色、菜单、按钮级权限、定时任务和代码生成器,适合你要快速搭网站后台、CMS、CRM 或 OA 这类管理端项目的场景。下面按实际部署路线走一遍,一次会话就能登录进你自己配好的权限管理系统。

整个流程分五个阶段,动手前先有全局概念:

阶段目标做什么
1 装环境SDK 与代码就位确认 .NET Core SDK 版本,克隆仓库
2 配数据库建库 + 灌种子数据执行 Document/DatabaseScript 下的 SQL 脚本
3 跑服务Web 与 WebApi 启动改 appsettings.json,dotnet run
4 验功能登录验证权限admin 登录,查菜单、按钮权限、定时任务
5 加固上线生产可用改密码、HTTPS、Redis、备份

把 SDK 版本和仓库对齐

仓库默认分支(master)编译目标是netcoreapp3.1,如果你的机器装的是新版 SDK,先切到对应版本分支再跑(README 中列了 YiShaAdmin-Net6、YiShaAdmin-Net7 分支)。先确认本机装了哪个 SDK:

dotnet --list-sdks

预期输出里包含 3.1.4xx 或与你所选分支匹配的版本;这步卡住的话大概率是 SDK 没装对,去微软官网装对应版本即可。

然后克隆代码并进入目录:

git clone https://gitcode.com/GitHub_Trending/yi/YiShaAdmin cd YiShaAdmin

解决方案里有两个 Web 工程:YiSha.Admin.Web(MVC 前端,端口 5000)和 YiSha.Admin.WebApi(REST API,端口 5001),两者共用一套数据库配置。

✅ 本阶段完成标志:dotnet --list-sdks能看到目标 SDK 版本,仓库已在本地就位。

让数据库先跑起来

YiShaAdmin 同时支持 MySQL 和 SQL Server,Document/DatabaseScript/ 下脚本分两组:建表结构(mysql.sql / sqlserver.sql)和种子数据(mysql_data.sql / sqlserver_data.sql)。种子数据里带默认管理员、菜单、角色、字典——跳过它你连不进去。

以 MySQL 为例,下面三条命令依次是建库、导结构、导数据:

mysql -u root -p -e "CREATE DATABASE YiShaAdmin DEFAULT CHARSET utf8mb4;" mysql -u root -p YiShaAdmin < Document/DatabaseScript/mysql.sql mysql -u root -p YiShaAdmin < Document/DatabaseScript/mysql_data.sql

⚠️ 脚本会先删表再重建,千万别对着有真实数据的库执行。三条命令无报错输出即成功,再用mysql -u root -p -e "USE YiShaAdmin; SHOW TABLES;"确认能看到 SysUser、SysMenu、SysRole 等二十多张表。

✅ 本阶段完成标志:数据库中表结构齐全,SysUser 表里有 admin 这条记录。

改两处配置,dotnet run 启动

上一步没问题,现在处理最容易被忽略的一个点:连接字符串。打开YiSha.Web/YiSha.Admin.Web/appsettings.json,只改 SystemConfig 里这两行:

"DBProvider": "MySql", "DBConnectionString": "server=localhost;database=YiShaAdmin;user=root;password=你的密码;port=3306;charset=utf8mb4;"

仓库默认是 SqlServer +Database=YsData,用 SQL Server 就保留 DBProvider 不动,只把连接串换成你自己的账号库名;JSON 别留尾逗号,否则启动直接报错。如果还要跑 WebApi,YiSha.Web/YiSha.Admin.WebApi/appsettings.json同样改一遍——两个工程端口 5000 / 5001 是各自 Program.cs 里写死的,不用配。

✅ 本阶段完成标志:两个 appsettings.json 保存无误,JSON 可被正常解析。

然后进 YiSha.Admin.Web 目录启动:

dotnet run

预期终端打印Now listening on: http://*:5000,出现这行说明服务起来了。

✅ 本阶段完成标志:5000 端口监听正常,浏览器能打开登录页。

登录并验证权限管理功能:菜单、按钮、定时任务

浏览器打开http://localhost:5000/admin/——注意带/admin虚拟目录,这来自配置里的 VirtualDirectory。用种子数据里的账号 admin / 123456 加图片验证码登录。

登录后左侧应出现完整的模块菜单:单位组织、系统管理、系统工具。菜单为空基本就是数据没导全,直接看下面的踩坑速查。

接下来验权限。进"单位组织 → 员工管理",列表支持按组织树筛选和多条件搜索;点开任一员工的编辑,能看到角色分配入口。而角色到底有哪些菜单和按钮权限,要到"系统管理 → 角色管理"点"权限"勾选——YiShaAdmin 的权限控制细到按钮级,某个按钮不可用基本都是权限标识没勾给当前角色。

最后验证定时任务。"系统管理 → 定时任务"里种子数据已预置任务,确认状态为启用、"下次执行时间"按 Cron 推进,点"日志"能看到执行记录。任务调度 JobCenter 是随进程启动初始化的,改完任务记得重启应用才生效。

✅ 本阶段完成标志:admin 登录成功、菜单完整、员工编辑保存成功、任务日志有新记录。

踩坑速查

  • 根路径访问 404→ 站点挂在 /admin 虚拟目录下 → 直接访问http://localhost:5000/admin/。
  • 登录提示密码错误→ 只导了建表脚本、漏了 mysql_data.sql,SysUser 是空的 →mysql -u root -p YiShaAdmin < Document/DatabaseScript/mysql_data.sql后重试。
  • 定时任务一直不执行→ 任务状态是禁用,或改完没重启、调度器没重建 → 把 JobStatus 置为启用,重启 dotnet run。

上线前清单

  • 改掉 admin / 123456 默认密码,种子数据必须换
  • CacheProvider 切到 Redis 并设置密码;单机小流量可以保留 Memory
  • 套反向代理加 HTTPS,仓库里的 Document/nginx.conf 是现成范例
  • 设ASPNETCORE_ENVIRONMENT=Production,开发异常页在正式环境会泄露堆栈
  • 定期备份数据库,内置的 DatabasesBackupJob 定时任务可以直接派上用场

从克隆仓库到验证完权限,整条路线其实就五步,大部分时间花在数据库和连接串上。想继续深入,按这三处看:

  • 功能清单与版本分支说明:README.md
  • 建表与种子数据脚本:Document/DatabaseScript/
  • 权限核心逻辑(菜单、角色、授权分配):YiSha.Business/YiSha.Business/SystemManage/

【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统,代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdmin

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询