XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Helpers/UserHelper.cs
+45
-0
Modified
XFEExtension.NetCore.ServerInteractive/XFEExtension.NetCore.ServerInteractive.csproj
+10
-14
XFEstudio/XFEExtension.NetCore.ServerInteractive
新增用户对象权限校验方法,提升灵活性
增加 ValidateUserPermission 和 ValidatePermission 重载,支持直接传入 IUserInfo 对象进行权限校验,优化权限校验流程。项目版本号升级至 1.1.6。
700fde6
代码差异
2 个文件
+55
-14
@@ -162,6 +162,21 @@ public static class UserHelper
162
162
return UserOperateResult.Success;
163
163
}
164
164
165
/// <summary>
166
/// 校验用户权限(直接传入用户对象)
167
/// </summary>
168
/// <param name="userInfo">用户信息对象</param>
169
/// <param name="requiredPermissionLevel">所需权限等级</param>
170
/// <returns></returns>
171
public static UserOperateResult ValidateUserPermission(IUserInfo userInfo, int requiredPermissionLevel)
172
{
173
if (!userInfo.Enable)
174
return UserOperateResult.UserDisabled;
175
if (userInfo.PermissionLevel < requiredPermissionLevel)
176
return UserOperateResult.PermissionDenied;
177
return UserOperateResult.Success;
178
}
179
165
180
/// <summary>
166
181
/// 校验权限
167
182
/// </summary>
@@ -218,6 +233,36 @@ public static class UserHelper
218
233
throw r.Error(OutPutResult(result), HttpStatusCode.Forbidden);
219
234
}
220
235
236
/// <summary>
237
/// 校验权限(直接传入用户对象)
238
/// </summary>
239
/// <param name="userInfo">用户信息对象</param>
240
/// <param name="requiredPermissionLevel">所需权限等级</param>
241
/// <param name="statusCode"></param>
242
/// <exception cref="StopAction"></exception>
243
public static void ValidatePermission(IUserInfo userInfo, int requiredPermissionLevel, ref HttpStatusCode statusCode)
244
{
245
var result = ValidateUserPermission(userInfo, requiredPermissionLevel);
246
if (result != UserOperateResult.Success)
247
{
248
statusCode = HttpStatusCode.Forbidden;
249
throw new StopAction(() => { }, $"\n{OutPutResult(result)}");
250
}
251
}
252
253
/// <summary>
254
/// 校验权限(直接传入用户对象)
255
/// </summary>
256
/// <param name="userInfo">用户信息对象</param>
257
/// <param name="requiredPermissionLevel">所需权限等级</param>
258
/// <param name="r"></param>
259
public static void ValidatePermission(IUserInfo userInfo, int requiredPermissionLevel, ServerCoreReturnArgs r)
260
{
261
var result = ValidateUserPermission(userInfo, requiredPermissionLevel);
262
if (result != UserOperateResult.Success)
263
throw r.Error(OutPutResult(result), HttpStatusCode.Forbidden);
264
}
265
221
266
/// <summary>
222
267
/// 输出结果
223
268
/// </summary>
@@ -5,7 +5,7 @@
5
5
<ImplicitUsings>enable</ImplicitUsings>
6
6
<Nullable>enable</Nullable>
7
7
<GenerateDocumentationFile>True</GenerateDocumentationFile>
8
<Version>1.1.5</Version>
8
<Version>1.1.6</Version>
9
9
<Title>XFEExtension.NetCore.ServerInteractive</Title>
10
10
<RepositoryUrl>https://github.com/XFEstudio/XFEExtension.NetCore.ServerInteractive</RepositoryUrl>
11
11
<AnalysisLevel>latest</AnalysisLevel>
@@ -19,24 +19,20 @@
19
19
<PackageReadmeFile>README.md</PackageReadmeFile>
20
20
<PackageTags>XFE;Server;服务器;XFEExtension</PackageTags>
21
21
<PackageReleaseNotes>
22
## 调整
23
24
扩展关闭方法并调整接口实现为异步
25
26
新增 Close(byte[] buffer) 和 Close(Stream stream) 异步方法,支持多种关闭通讯方式。
27
将 CloseWithError 方法改为异步。
28
IXFEServerCoreServiceBase 接口移除默认实现,仅保留方法签名。
29
项目版本升级至 1.1.5。
22
## 调整
23
24
新增用户对象权限校验方法,提升灵活性
30
25
26
增加 ValidateUserPermission 和 ValidatePermission 重载,支持直接传入 IUserInfo 对象进行权限校验,优化权限校验流程。项目版本号升级至 1.1.6。
31
27
32
## 新增
28
## 新增
33
29
34
无
30
无
35
31
36
## 严重
32
## 严重
37
33
38
无
39
</PackageReleaseNotes>
34
无
35
</PackageReleaseNotes>
40
36
<NeutralLanguage>zh-CN</NeutralLanguage>
41
37
<PackageRequireLicenseAcceptance>True</PackageRequireLicenseAcceptance>
42
38
<Version>$(Version)</Version>