I am looking to add single sign on type functionality to a custom RDP client that I am working on.
The bigest issue with this is the fact that single sign on is not supported. So I have to get creative to work around that limitation. I think with the use of web services and a little social engeneering on the part of app, I can recreate the effect.
At some point I will have to collect the password from the user and store it in a save place. Its not that hard to create a login screen that looks like the one they currently see. If the username matches the username they currently logged in with, Its save to save the password to the account. I would prabably encrypt it to a personal network share that every user has. This allows it to roam with them.
The bigest issue is when the wrong password gets entered or its changed after its saved. I will need a process to verify the account information. When authentication fails when making a rdp connection, they user is prompted on the remote end for the correct information. My application can not tell from the conneciton if the details are correct or not.
I am thinking about using a webservice that will serve as my authentication check. I know I can load my webservice request with login information I get from my user. So if it authenticates, the information is good.
In the end, I think it will work. I might find a simpler solution than using a webservice. I might use it to create a central connection log of all rdp trafic.