YiShaAdmin 权限管理系统部署指南:4 个高频卡点一次打通

发布时间:2026/8/26 15:06:04
YiShaAdmin 权限管理系统部署指南:4 个高频卡点一次打通 YiShaAdmin 权限管理系统部署指南4 个高频卡点一次打通【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdminYiShaAdmin 是一个基于 .NET Core MVC 的开源权限管理系统内置员工管理、部门组织、角色权限、菜单配置和定时任务等模块适合用来快速搭建网站后台、OA、CRM 这类系统的底座。这篇文章围绕 YiShaAdmin 部署 展开带你走完环境准备、数据库初始化、登录排障到权限配置的完整流程第一次接触这个项目的同学照着做就能把系统跑起来。动手前先确认这 5 项.NET SDK 与项目匹配默认分支基于 .NET Core 3.1仓库同时提供 7.0 / 6.0 / 2.2 分支按需选择MySQL 或 SQL Server 数据库服务正在运行代码已克隆到本地git clone https://gitcode.com/GitHub_Trending/yi/YiShaAdmin数据库连接字符串已按本机账号密码改好5000Web、5001Api端口未被其他程序占用清单里的每一项花不了几分钟但能避开后面绝大多数坑建议真的逐项过一遍再启动。启动项目版本报错和端口占用的快速处理代码克隆下来后在 Web 项目目录执行dotnet restore再dotnet run就能看到效果。如果卡住了多数是下面两种情况。SDK 版本对不上启动时提示找不到运行时或版本不匹配大概率是本机装的 .NET SDK 和项目要求的不一致。先执行dotnet --list-sdks看看本地都有什么版本如果你用的是 3.1 默认分支就装一个 3.1 的 SDK或者干脆切到 7.0 / 6.0 分支装对应的新版本即可。 团队开发时建议在仓库根目录放一个 global.json 锁定 SDK 版本省得每个人环境都不一样。端口被占用启动日志里出现端口已被占用的提示时说明 5000 或 5001 已经有程序在用。最简单的办法是改端口打开 YiSha.Web/YiSha.Admin.Web/Properties/launchSettings.json把 applicationUrl 里的端口换成空闲的再启动。数据库连不上登录页卡住的排查路径登录时报数据库相关错误看到登录页提示数据库连接失败、或者应用启动即退出先别怀疑代码顺手检查一下配置文件打开 YiSha.Web/YiSha.Admin.Web/appsettings.json确认 SystemConfig 里的 DBProviderSqlServer 或 MySql和 DBConnectionString 跟你本机的数据库类型、账号密码一致这是新手最容易写错的一处。确认配置没问题后检查数据库本身建好了没有。进入 Document/DatabaseScript/ 目录按数据库类型执行对应的脚本MySQL 执行 mysql.sql 和 mysql_data.sqlSQL Server 执行 sqlserver.sql 和 sqlserver_data.sql库表结构和初始数据就都有了。 开发环境可以先用简单密码验证连通性跑通之后再换成强密码⚠️ 生产环境切记不要用默认密码。登录后菜单为空权限配置的三步修复菜单空白或按钮点不动登录成功了但左侧菜单栏是空的或者部分按钮是灰的说明数据层面或权限层面有缺口。建议按这个顺序查先确认菜单数据已导入没有的话重新执行一遍初始化数据脚本再进入系统管理 → 角色管理给管理员角色把菜单权限全部勾上保存。还差最后一步进入单位组织 → 员工管理找到你自己的账号点编辑在角色栏勾选管理员保存后重新登录菜单就会正常加载出来。⚠️ 这个系统的权限控制精确到按钮级别某个按钮不可用时多半是该按钮的权限标识没分配给当前角色回角色管理里补勾一下即可。定时任务没动静按这个顺序检查配了定时任务却从未执行、执行日志一片空白时先看任务状态是不是启用再核对 Cron 表达式六段式比如0 0/5 * * * ?表示每 5 分钟一次。表达式没问题的话确认服务器系统时间没有跑偏。 建议先建一个每分钟执行一次的简单测试任务验证调度本身正常后再替换成正式的业务任务排障思路会清晰很多。任务逻辑集中在 YiSha.Business/YiSha.Business.AutoJob/ 模块如果测试任务依然不跑重启一次 Web 服务再观察下次执行时间有没有更新基本就能定位到是表达式、状态还是服务本身的问题。进阶配置与故障速查跑通之后这几个开关可以按需打开都是配置文件里的一两行改动。缓存、连接池与多环境Redis 缓存把 appsettings.json 里的 CacheProvider 改为 Redis 并填上 RedisConnectionString生产环境比默认的内存缓存更稳。连接池在数据库连接字符串末尾追加Poolingtrue;Min Pool Size5;Max Pool Size100;减少频繁建连的开销。多环境配置分别建 appsettings.Development.json 和 appsettings.Production.json用 ASPNETCORE_ENVIRONMENT 环境变量切换开发生产互不干扰。症状速查表症状首查项备选方案启动报 SDK 版本错误dotnet --list-sdks的输出版本安装匹配 SDK 或切换对应版本分支登录页报数据库连接失败appsettings.json 的 DBConnectionString重新执行 Document/DatabaseScript/ 下的初始化脚本登录后菜单空白菜单数据是否导入、角色权限是否勾选编辑本人账号重新分配管理员角色定时任务不执行任务状态与 Cron 表达式先建每分钟执行的测试任务验证调度高并发下页面变慢CacheProvider 配置切换 Redis 并追加连接池参数登录进去看到框架介绍页的那一刻YiShaAdmin 就算真正跑起来了后面的定制都在这套骨架上生长。【免费下载链接】YiShaAdmin基于 .NET Core MVC 的权限管理系统代码易读易懂、界面简洁美观项目地址: https://gitcode.com/GitHub_Trending/yi/YiShaAdmin创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考