mirror of
https://github.com/dotnet/MQTTnet.git
synced 2026-10-27 08:42:37 +08:00
Add the adapter Endpoint to the connection validator.
This commit is contained in:
@@ -212,7 +212,7 @@ namespace MQTTnet.Server
|
|||||||
// Switch to the required protocol version before sending any response.
|
// Switch to the required protocol version before sending any response.
|
||||||
clientAdapter.PacketSerializer.ProtocolVersion = connectPacket.ProtocolVersion;
|
clientAdapter.PacketSerializer.ProtocolVersion = connectPacket.ProtocolVersion;
|
||||||
|
|
||||||
var connectReturnCode = ValidateConnection(connectPacket);
|
var connectReturnCode = ValidateConnection(connectPacket, clientAdapter);
|
||||||
if (connectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
if (connectReturnCode != MqttConnectReturnCode.ConnectionAccepted)
|
||||||
{
|
{
|
||||||
await clientAdapter.SendPacketAsync(
|
await clientAdapter.SendPacketAsync(
|
||||||
@@ -268,7 +268,7 @@ namespace MQTTnet.Server
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MqttConnectReturnCode ValidateConnection(MqttConnectPacket connectPacket)
|
private MqttConnectReturnCode ValidateConnection(MqttConnectPacket connectPacket, IMqttChannelAdapter clientAdapter)
|
||||||
{
|
{
|
||||||
if (_options.ConnectionValidator == null)
|
if (_options.ConnectionValidator == null)
|
||||||
{
|
{
|
||||||
@@ -279,7 +279,8 @@ namespace MQTTnet.Server
|
|||||||
connectPacket.ClientId,
|
connectPacket.ClientId,
|
||||||
connectPacket.Username,
|
connectPacket.Username,
|
||||||
connectPacket.Password,
|
connectPacket.Password,
|
||||||
connectPacket.WillMessage);
|
connectPacket.WillMessage,
|
||||||
|
clientAdapter.Endpoint);
|
||||||
|
|
||||||
_options.ConnectionValidator(context);
|
_options.ConnectionValidator(context);
|
||||||
return context.ReturnCode;
|
return context.ReturnCode;
|
||||||
|
|||||||
@@ -4,12 +4,13 @@ namespace MQTTnet.Server
|
|||||||
{
|
{
|
||||||
public class MqttConnectionValidatorContext
|
public class MqttConnectionValidatorContext
|
||||||
{
|
{
|
||||||
public MqttConnectionValidatorContext(string clientId, string username, string password, MqttApplicationMessage willMessage)
|
public MqttConnectionValidatorContext(string clientId, string username, string password, MqttApplicationMessage willMessage, string endpoint)
|
||||||
{
|
{
|
||||||
ClientId = clientId;
|
ClientId = clientId;
|
||||||
Username = username;
|
Username = username;
|
||||||
Password = password;
|
Password = password;
|
||||||
WillMessage = willMessage;
|
WillMessage = willMessage;
|
||||||
|
Endpoint = endpoint;
|
||||||
}
|
}
|
||||||
|
|
||||||
public string ClientId { get; }
|
public string ClientId { get; }
|
||||||
@@ -20,6 +21,8 @@ namespace MQTTnet.Server
|
|||||||
|
|
||||||
public MqttApplicationMessage WillMessage { get; }
|
public MqttApplicationMessage WillMessage { get; }
|
||||||
|
|
||||||
|
public string Endpoint { get; }
|
||||||
|
|
||||||
public MqttConnectReturnCode ReturnCode { get; set; } = MqttConnectReturnCode.ConnectionAccepted;
|
public MqttConnectReturnCode ReturnCode { get; set; } = MqttConnectReturnCode.ConnectionAccepted;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user