My setup is as follows:
I have multiple clients (win7 64, but also planning to get win8 in the future) logging into an AD DC within our internal network. For extended user control I have another server running a self-written TCP server to check user data before logging in.
What I need with this setup is a way of sending the users credentials to this TCP server - the server checks the user data and responds, whether the user may log in or not - and if permitted the user credentials get handed over to the standard Windows login routine to authenticate the user on the AD DC.
With the help of the Windows SDK, I already managed to extract the user data before logon and serialize them to a file. For this I use a wrapped CredentialProvider. All I need now is, instead of serializing the user data to a file, to send them via TCP stream to my Server. It would be great, if it could be encrypted, but overall it's not that tragic, because the TCP server is also in our internal network.
What would be the way to go? How can I send TCP messages from within an ICredentialProvider?
Or should I use something else instead of the CredentialProvider?
I already tried including <winsock.h> and <winsock2.h>, but the compiler always throws an error, that almost every method in there is deprecated.
When I tried using System.Net.Sockets it would not compile using the /clr option throwing massive amounts of errors.