mirror of
https://github.com/FastTunnel/FastTunnel.git
synced 2025-02-08 02:39:29 +08:00
支持可扩展登录验证
This commit is contained in:
parent
781bf8bb18
commit
310519a28a
16
FastTunnel.Core/Handlers/Server/ConfigHandler.cs
Normal file
16
FastTunnel.Core/Handlers/Server/ConfigHandler.cs
Normal file
|
@ -0,0 +1,16 @@
|
|||
using FastTunnel.Core.Models;
|
||||
using Newtonsoft.Json.Linq;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
|
||||
namespace FastTunnel.Core.Handlers.Server
|
||||
{
|
||||
public class ConfigHandler : IConfigHandler
|
||||
{
|
||||
public LogInMassage GetConfig(JObject content)
|
||||
{
|
||||
return content.ToObject<LogInMassage>();
|
||||
}
|
||||
}
|
||||
}
|
|
@ -16,15 +16,17 @@ namespace FastTunnel.Core.Handlers
|
|||
ILogger<LoginHandler> _logger;
|
||||
|
||||
public bool NeedRecive => true;
|
||||
IConfigHandler _configHandler;
|
||||
|
||||
public LoginHandler(ILogger<LoginHandler> logger)
|
||||
public LoginHandler(ILogger<LoginHandler> logger, IConfigHandler configHandler)
|
||||
{
|
||||
_logger = logger;
|
||||
_configHandler = configHandler;
|
||||
}
|
||||
|
||||
public LogInMassage GetConfig(JObject content)
|
||||
{
|
||||
return content.ToObject<LogInMassage>();
|
||||
return _configHandler.GetConfig(content);
|
||||
}
|
||||
|
||||
public void HandlerMsg(FastTunnelServer server, Socket client, Message<JObject> msg)
|
||||
|
|
|
@ -70,6 +70,7 @@ namespace FastTunnel.Server
|
|||
.AddSingleton<LoginHandler>()
|
||||
.AddSingleton<HeartHandler>()
|
||||
.AddSingleton<SwapMsgHandler>()
|
||||
.AddSingleton<IConfigHandler, ConfigHandler>()
|
||||
.AddSingleton<ServerConfig>(implementationFactory);
|
||||
}
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@ namespace SuiDao.Client
|
|||
{
|
||||
Console.WriteLine("请选择要启动的客户端:" + Environment.NewLine);
|
||||
|
||||
Console.WriteLine($"0:其他密钥登录");
|
||||
Console.WriteLine($" 0:其他密钥登录");
|
||||
for (int i = 0; i < keys.Count; i++)
|
||||
{
|
||||
Console.WriteLine($" {i + 1}:{keys[i]}");
|
||||
|
@ -126,13 +126,17 @@ namespace SuiDao.Client
|
|||
}
|
||||
}
|
||||
|
||||
static IServiceProvider servicesProvider;
|
||||
|
||||
private static void LogByKey(string key, ILogger logger, bool log)
|
||||
{
|
||||
Console.WriteLine("登录中...");
|
||||
|
||||
try
|
||||
{
|
||||
var servicesProvider = new Host().Config(Config).Build();
|
||||
if (servicesProvider == null)
|
||||
servicesProvider = new Host().Config(Config).Build();
|
||||
|
||||
Run(servicesProvider, logger, key, log);
|
||||
|
||||
while (true)
|
||||
|
@ -176,7 +180,7 @@ namespace SuiDao.Client
|
|||
|
||||
try
|
||||
{
|
||||
_client = new Connecter(server.ip, server.bind_port);
|
||||
_client = new Connecter("127.0.0.1", 2271);
|
||||
_client.Connect();
|
||||
}
|
||||
catch (Exception ex)
|
||||
|
@ -194,8 +198,8 @@ namespace SuiDao.Client
|
|||
}
|
||||
else
|
||||
{
|
||||
// TODO: 重新输入
|
||||
Console.WriteLine(jobj["errorMsg"].ToString());
|
||||
NewKey(_logger);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ using System.Net.Sockets;
|
|||
|
||||
namespace SuiDao.Server
|
||||
{
|
||||
public class SuiDaoLoginHandler : IConfigHandler
|
||||
public class SuiDaoConfigHandler : IConfigHandler
|
||||
{
|
||||
public LogInMassage GetConfig(JObject content)
|
||||
{
|
|
@ -62,7 +62,7 @@ namespace SuiDao.Server
|
|||
.AddSingleton<LoginHandler>()
|
||||
.AddSingleton<SwapMsgHandler>()
|
||||
.AddSingleton<HeartHandler>()
|
||||
.AddSingleton<IConfigHandler, SuiDaoLoginHandler>();
|
||||
.AddSingleton<IConfigHandler, SuiDaoConfigHandler>();
|
||||
}
|
||||
|
||||
private static void Run(IServiceProvider servicesProvider)
|
||||
|
|
Loading…
Reference in New Issue
Block a user