XFEExtension.NetCore.ServerInteractive
[DLL] Server interaction extension, including user identity verification and querying in conjunction with AutoConfig
关注
0
Fork
0
Star
0
返回提交历史
Modified
README.md
+66
-1
Modified
XFEExtension.NetCore.ServerInteractive.TServer/Program.cs
+16
-14
Modified
XFEExtension.NetCore.ServerInteractive.Test/Program.cs
+2
-1
Modified
XFEExtension.NetCore.ServerInteractive/Models/ServerModels/ServerCoreReturnArgs.cs
+3
-1
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/DailyCounterService.cs
+0
-1
Modified
XFEExtension.NetCore.ServerInteractive/Utilities/Server/Services/CoreService/EntryPointVerifyServer.cs
+6
-6
XFEstudio/XFEExtension.NetCore.ServerInteractive
完善网络架构 添加Readme信息
f01dea7
代码差异
6 个文件
+93
-24
@@ -1 +1,66 @@
1
# XFEExtension.NetCore.ServerInteractive
1
# XFEExtension.NetCore.ServerInteractive
2
3
## ����
4
5
ServerInteractive��һ��C#��DLL�⣬�为����XFEExtension.NetCore�ṩ��CyberComm����ܹ�����ʹ���߿��Կ��ٹ����������Ϳͻ���������
6
7
# ʾ����ʹ��ǰ�ǵý�����Ӧ�����ã�
8
9
---
10
11
## ���������������
12
13
#### ʹ��XFE������ܹ�
14
15
```csharp
16
var server = XFEServerBuilder.CreateBuilder() // ����������������
17
.UseXFEServer() // ʹ��XFE�������ܹ�
18
.AddCoreServer( // ���Ӻ��ķ�����
19
XFEServerCoreBuilder.CreateBuilder() // �����������������
20
.UseXFEStandardServerCore( // ʹ��XFE������������
21
static () => UserProfile.UserTable, // ��ȡ�û����ķ���
22
static () => UserProfile.EncryptedUserLoginModelTable, // ��ȡ�û�����ģ�͵ķ���
23
UserProfile.EncryptedUserLoginModelTable.Add, // �����û�����ģ�͵ķ���
24
static user => UserProfile.EncryptedUserLoginModelTable.Remove(user), // �Ƴ��û�����ģ�͵ķ���
25
XFEDataTableManagerBuilder.CreateBuilder() // ����DataTable������������
26
.AddTable<Person, DataProfile>("����", (int)UserRole.ҵ��Ա, (int)UserRole.����, (int)UserRole.ҵ��Ա, (int)UserRole.ҵ��Ա) // ������Ϊ����ı���Person���ͣ�AutoConfigΪDataProfile�����Ӹ��Ļ�ȡȨ��Ϊҵ��Ա���Ƴ�Ȩ��Ϊ����
27
.AddTable<Order, DataProfile>("����", (int)UserRole.ҵ��Ա, (int)UserRole.����, (int)UserRole.ҵ��Ա, (int)UserRole.ҵ��Ա) // ������Ϊ�����ı���Order���ͣ�AutoConfigΪDataProfile�����Ӹ��Ļ�ȡȨ��Ϊҵ��Ա���Ƴ�Ȩ��Ϊ����
28
.AddTable<User, UserProfile>("�û�", (int)UserRole.����, (int)UserRole.����, (int)UserRole.����, (int)UserRole.ҵ��Ա)) // ������Ϊ�û��ı���User���ͣ�AutoConfigΪUserProfile����ȡȨ��Ϊҵ��Ա�������Ƴ�����Ȩ��Ϊ����
29
.Build()) // �����������
30
.Build(); // ����������
31
await server.Start(); // ��������
32
```
33
34
#### �����Զ������
35
36
```csharp
37
var server = XFEServerBuilder.CreateBuilder()
38
.AddInitializer<MyInitilizerService>() // �Զ����ʼ������
39
.AddService<MyService>() // �Զ������
40
.AddAsyncService<MyAsyncService>() // �Զ����첽����
41
.Build();
42
```
43
44
---
45
46
## ��ͻ���������
47
48
#### ʹ��XFE��������
49
50
```csharp
51
var xFEClientRequester = XFEClientRequesterBuilder.CreateBuilder("http://localhost:8080/", string.Empty, DeviceHelper.GetUniqueHardwareId()) // ������IP��ַ���û�Session�Լ�Ӳ������
52
.UseXFEStandardRequest() // ʹ��XFE��������
53
.Build(); // �����ͻ���������
54
55
var result = await xFEClientRequester.Request<(string session, DateTime expireDate)>("login", account, password); // ����login����
56
if (result.StatusCode == System.Net.HttpStatusCode.OK)
57
{
58
Console.WriteLine(result.Result.session);
59
Console.WriteLine(result.Result.expireDate);
60
}
61
else
62
{
63
Console.WriteLine(result.StatusCode);
64
Console.WriteLine(result.Message);
65
}
66
```
@@ -6,17 +6,19 @@ using XFEExtension.NetCore.ServerInteractive.Utilities;
6
6
using XFEExtension.NetCore.ServerInteractive.Utilities.DataTable;
7
7
using XFEExtension.NetCore.ServerInteractive.Utilities.Server;
8
8
9
var server = XFEServerBuilder.CreateBuilder()
10
.UseXFEServer()
11
.AddCoreServer(XFEServerCoreBuilder.CreateBuilder()
12
.UseXFEStandardServerCore(static () => UserProfile.UserTable,
13
static () => UserProfile.EncryptedUserLoginModelTable,
14
UserProfile.EncryptedUserLoginModelTable.Add,
15
static user => UserProfile.EncryptedUserLoginModelTable.Remove(user),
16
XFEDataTableManagerBuilder.CreateBuilder()
17
.AddTable<Person, DataProfile>("人物", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员)
18
.AddTable<Order, DataProfile>("订单", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员)
19
.AddTable<User, UserProfile>("用户", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员))
20
.Build())
21
.Build();
22
await server.Start();
9
var server = XFEServerBuilder.CreateBuilder() //创建服务器构建器
10
.UseXFEServer() //使用XFE服务器架构
11
.AddCoreServer( //添加核心服务器
12
XFEServerCoreBuilder.CreateBuilder() //创建核心服务器构建器
13
.UseXFEStandardServerCore( //使用XFE标准服务器核心
14
static () => UserProfile.UserTable, //获取用户表的方法
15
static () => UserProfile.EncryptedUserLoginModelTable, //获取用户加密模型的方法
16
UserProfile.EncryptedUserLoginModelTable.Add, //添加用户加密模型的方法
17
static user => UserProfile.EncryptedUserLoginModelTable.Remove(user), //移除用户加密模型的方法
18
XFEDataTableManagerBuilder.CreateBuilder() //创建DataTable管理器构建器
19
.AddTable<Person, DataProfile>("人物", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) //添加名为人物的表格,Person类型,AutoConfig为DataProfile。添加更改获取权限为业务员,移除权限为经理
20
.AddTable<Order, DataProfile>("订单", (int)UserRole.业务员, (int)UserRole.经理, (int)UserRole.业务员, (int)UserRole.业务员) //添加名为订单的表格,Order类型,AutoConfig为DataProfile。添加更改获取权限为业务员,移除权限为经理
21
.AddTable<User, UserProfile>("用户", (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.经理, (int)UserRole.业务员)) //添加名为用户的表格,User类型,AutoConfig为UserProfile。获取权限为业务员,添加移除更改权限为经理
22
.Build()) //构建核心服务器
23
.Build(); //构建服务器
24
await server.Start(); //启动服务
@@ -6,9 +6,10 @@ using XFEExtension.NetCore.ServerInteractive.Utilities.Requester;
6
6
7
7
internal class Program
8
8
{
9
static readonly XFEClientRequester xFEClientRequester = XFEClientRequesterBuilder.CreateBuilder("http://localhost:8080/", string.Empty, DeviceHelper.GetUniqueHardwareId())
9
static readonly XFEClientRequester xFEClientRequester = XFEClientRequesterBuilder.CreateBuilder("http://localhost:8080/api", string.Empty, DeviceHelper.GetUniqueHardwareId())
10
10
.UseXFEStandardRequest()
11
11
.Build();
12
12
13
static readonly TableRequester tableRequester = new();
13
14
14
15
static Program() => xFEClientRequester.MessageReceived += XFEClientRequester_MessageReceived;
@@ -49,9 +49,11 @@ public class ServerCoreReturnArgs : Exception
49
49
/// </summary>
50
50
/// <param name="message"></param>
51
51
/// <param name="code"></param>
52
public ServerCoreReturnArgs GetError(string message, HttpStatusCode code = HttpStatusCode.InternalServerError)
52
/// <param name="handled"></param>
53
public ServerCoreReturnArgs GetError(string message, HttpStatusCode code = HttpStatusCode.InternalServerError, bool handled = false)
53
54
{
54
55
ReturnMessage = message;
56
Handled = handled;
55
57
StatusCode = code;
56
58
return this;
57
59
}
@@ -2,7 +2,6 @@
2
2
using XFEExtension.NetCore.CyberComm;
3
3
using XFEExtension.NetCore.FileExtension;
4
4
using XFEExtension.NetCore.ServerInteractive.Implements.CoreService;
5
using XFEExtension.NetCore.ServerInteractive.Interfaces.ServerService;
6
5
7
6
namespace XFEExtension.NetCore.ServerInteractive.Utilities.Server.Services.CoreService;
8
7
@@ -15,16 +15,16 @@ public class EntryPointVerifyServer : ServerCoreVerifyServiceBase
15
15
public override bool VerifyRequest(object? sender, CyberCommRequestEventArgs e, ServerCoreReturnArgs r)
16
16
{
17
17
Console.Write($"[DEBUG]【{e.ClientIP}】接收到请求");
18
if (ServerBaseProfile.BannedIPAddressList.Contains(e.ClientIP)) throw new StopAction(() =>
18
if (ServerBaseProfile.BannedIPAddressList.Contains(e.ClientIP))
19
19
{
20
20
Console.WriteLine("-校验失败");
21
r.Close(HttpStatusCode.Forbidden);
22
}, "您的已被封禁");
23
if (e.RequestURL?.Segments.Length > 2 && $"{e.RequestURL?.Segments[0]}{e.RequestURL?.Segments[1]}" != $"/{ServerBaseProfile.EntryPoint}" && e.RequestMethod != "POST") throw new StopAction(() =>
21
r.Error("您的已被封禁", HttpStatusCode.Forbidden);
22
}
23
if (e.RequestURL?.Segments.Length < 2 || $"{e.RequestURL?.Segments[0]}{e.RequestURL?.Segments[1]}" != $"/{ServerBaseProfile.EntryPoint}" || e.RequestMethod != "POST")
24
24
{
25
25
Console.WriteLine("-校验失败");
26
r.Close(HttpStatusCode.BadGateway);
27
}, "请求的API接口不正确");
26
r.Error("请求的API接口不正确", HttpStatusCode.BadGateway);
27
}
28
28
Console.WriteLine("-校验通过");
29
29
return true;
30
30
}