Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vforteli/flexinets.radius.radiusclient

Radius client for .Net (Net Standard)
https://github.com/vforteli/flexinets.radius.radiusclient

dotnet netstandard radius radius-client rfc2865 rfc2866

Last synced: about 13 hours ago
JSON representation

Radius client for .Net (Net Standard)

Awesome Lists containing this project

README

        

# Radius client library for .NET Standard

This library can be used to asynchronously send packets to Radius servers

## RadiusClient usage
```
var dictionary = new RadiusDictionary(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\radius.dictionary");
var radiusPacketParser = new RadiusPacketParser(NullLogger.Instance, dictionary)
var client = new RadiusClient(new IPEndPoint(IPAddress.Any, 1824), radiusPacketParser);

var packet = new RadiusPacket(PacketCode.AccessRequest, 0, "xyzzy5461");
packet.AddAttribute("User-Name", "nemo");
packet.AddAttribute("User-Password", "arctangent");
packet.AddAttribute("NAS-IP-Address", IPAddress.Parse("192.168.1.16"));
packet.AddAttribute("NAS-Port", 3);

var responsePacket = await client.SendPacketAsync(packet, new IPEndPoint(IPAddress.Parse("127.0.0.1"), 1812), TimeSpan.FromSeconds(11));
if (responsePacket.Code == PacketCode.AccessAccept)
{
// Hooray
}
```

Multiple requests and responses can be made asynchronously on the same local port as long as the identifier and remote host:port remain unique

https://www.nuget.org/packages/Flexinets.Radius.RadiusClient/