This commit is contained in:
2026-05-22 12:37:00 +08:00
parent 6e2ae11c54
commit aaba8b8b73
2 changed files with 15 additions and 12 deletions
+6 -4
View File
@@ -26,10 +26,11 @@ public class SimApiAuthIam(SimApiAuthClient simapi, ILogger<SimApiAuthIam> logge
/// 获取拥有的权限标识数组 /// 获取拥有的权限标识数组
/// </summary> /// </summary>
/// <param name="profileId"></param> /// <param name="profileId"></param>
/// <param name="groupId"></param>
/// <returns></returns> /// <returns></returns>
public string[] GetPermissionOwned(string profileId) public string[] GetPermissionOwned(string profileId, string? groupId = null)
{ {
return simapi.SignQuery<string[]>("/api/iam/permission/owned", new { profileId }) ?? []; return simapi.SignQuery<string[]>("/api/iam/permission/owned", new { profileId, groupId }) ?? [];
} }
/// <summary> /// <summary>
@@ -37,9 +38,10 @@ public class SimApiAuthIam(SimApiAuthClient simapi, ILogger<SimApiAuthIam> logge
/// </summary> /// </summary>
/// <param name="profileId"></param> /// <param name="profileId"></param>
/// <param name="permission"></param> /// <param name="permission"></param>
public void CheckPermission(string profileId, string permission) /// <param name="groupId"></param>
public void CheckPermission(string profileId, string permission, string? groupId = null)
{ {
var ok = simapi.SignQuery<bool>("/api/iam/permission/check", new { profileId, permission }); var ok = simapi.SignQuery<bool>("/api/iam/permission/check", new { profileId, permission, groupId });
ErrorWhen(!ok, 403, "没有该权限"); ErrorWhen(!ok, 403, "没有该权限");
} }
} }
+1
View File
@@ -106,6 +106,7 @@ public class SimApiHttpClient(SimApiOptions? apiOptions = null, ILogger<SimApiHt
logger?.LogDebug($"[HTTPCLIENT请求] {url}\n{SimApiUtil.Json(req)}\n"); logger?.LogDebug($"[HTTPCLIENT请求] {url}\n{SimApiUtil.Json(req)}\n");
var resp = http.PostAsJsonAsync(url, req).Result; var resp = http.PostAsJsonAsync(url, req).Result;
logger?.LogDebug($"[HTTPCLIENT响应] {resp.Content.ReadAsStringAsync().Result}\n"); logger?.LogDebug($"[HTTPCLIENT响应] {resp.Content.ReadAsStringAsync().Result}\n");
SimApiError.ErrorWhenFalse(resp.IsSuccessStatusCode, (int)resp.StatusCode, $"HTTP ERROR: {resp.StatusCode}");
var res = resp.Content.ReadFromJsonAsync<SimApiBaseResponse<T>>().Result; var res = resp.Content.ReadFromJsonAsync<SimApiBaseResponse<T>>().Result;
SimApiError.ErrorWhenNull(res, 500, "请求发生错误"); SimApiError.ErrorWhenNull(res, 500, "请求发生错误");
SimApiError.ErrorWhen(res.Code != 200, res.Code, res.Message); SimApiError.ErrorWhen(res.Code != 200, res.Code, res.Message);