Admin Core

后台常见问题

在项目中打开 Configs/appconfig.json 文件,将 varifyCode.enable 设置为 false。


一、接口文档 AccessToken 配置

步骤一:关闭验证码

在项目中打开 Configs/appconfig.json 文件,将 varifyCode.enable 设置为 false

步骤二:获取 AccessToken

  1. 在接口文档中选择中台 Admin
  2. 打开 认证授权服务 → 登录接口
  3. 点击调试,在 raw 选项下输入以下内容:
1
2
3
4
5
6
7
{
"userName": "admin",
"password": "123asd",
"passwordKey": "",
"captchaId": "",
"captchaData": ""
}

发送请求后,响应体中返回的 accessToken 即为所需的认证令牌。

步骤三:添加全局参数

  1. 打开 文档管理 → 全局参数设置
  2. 点击 添加参数,配置如下:
参数名称 Authorization
参数值 Bearer AccessToken(注意 Bearer 与令牌之间有一个空格)
参数类型 header

步骤四:验证配置

关闭所有已打开的接口窗口,重新访问测试接口。如果请求头中出现了已配置的参数,说明配置成功。


二、项目发布后缺少 FreeSql 数据库实现包

问题描述

Admin.Core 源码仅在 Debug 开发环境下引用了 FreeSql 数据库实现包,导致发布后启动接口时报错:

缺少 Freesql 数据库实现包:FreeSql.Provider.MySql.dll

解决方案

  1. 单击 ZhonTai.Host 项目
  2. 将 Debug 开发环境下的 FreeSql.Provider.MySql 安装包剪切到生产环境中
  3. 重新发布项目

配置变更示例

1
2
3
4
5
6
7
8
9
<!-- 修改前(仅 Debug 环境可用) -->
<ItemGroup Condition="'$(Configuration)'=='Debug'">
<PackageReference Include="FreeSql.Provider.MySql" Version="3.2.825" />
</ItemGroup>

<!-- 修改后(所有环境可用) -->
<ItemGroup>
<PackageReference Include="FreeSql.Provider.MySql" Version="3.2.825" />
</ItemGroup>

三、默认管理员账号密码

项目 内容
账号 admin
密码 123asd

新增用户的默认初始密码可在 appconfig.jsondefaultPassword 配置项中修改。


四、查看角色菜单权限时报错

问题描述

查看角色菜单权限时提示 “服务器内部错误”,错误日志中可见:

1
Parameter '@cte_pid' must be defined.

原因分析

该查询使用了数据库递归函数,而 MySQL 5.x 版本不支持该特性。

解决方案

  • 方案一:升级 MySQL 至 8.0+ 版本
  • 方案二:更换为支持递归查询的数据库(如 PostgreSQL)进行测试

五、如何禁用或启用仓储过滤器

常用场景

1
2
3
4
5
6
7
8
9
10
11
12
// 仅禁用删除过滤器
using var _ = _yourRep.DataFilter.Disable(FilterNames.Delete);

// 仅开启删除过滤器(需先禁用全部再启用)
using var _ = _yourRep.DataFilter.DisableAll();
using var __ = _yourRep.DataFilter.Enable(FilterNames.Delete);

// 禁用租户过滤器
using var _ = _yourRep.DataFilter.Disable(FilterNames.Tenant);

// 禁用所有过滤器
using var _ = _yourRep.DataFilter.DisableAll();

使用 using 语句可确保过滤器在代码块结束时自动恢复,无需手动重置。

#中台/常见问题 #中台/数据库配置 #仓储模式 #API接口 #数据安全