You should use the new .NET Core technologies from Microsoft. Then you have Attributes from ASP.NET Core Identity. In your controller for example you just write a [HTTPS] attribute before for encryption etc... Take a look at David Roth's REST-API securing Video with .NET Core on, I think Channel 9.
You should use this because Microsoft wants a reboot of their web technologies. New Entity Framework Core instead of ADO.NET, new Routing mechanisms (with attributes), Dependency Injection Strategy Pattern by default, cross-platform compatibility in your apps, the possibility to run hand in hand with docker (Microservices which runs in separate docker containers) and, and, and... long story short: take a look at .NET Core and .NET Core Identity for securing the api.
And in 2019 with .NET Core version 3 comes also a GUI. WinForms and even WPF. Sadly there is up to now not something like "general XAML" but Microsoft is exactly working on this.