D__
D__

Reputation: 259

How to create a custom logon Windows screen in C#?

I would like to implement a custom login screen (with a custom login method, say, fingerprint, or something else) on a relatively recent Windows machine (7, 8, or 10).

Somehow I couldn't find a real description of this topic, I either wound up at GINA (which seems to be deprecated now), or at this (said to be very useful) link: http://msdn.microsoft.com/en-us/magazine/cc163489.aspx which only leads me to the archive to all MSDN magazines...

All of these seem a bit old, isn't there something newer?

Update: I looked up pGina as it was advised in a question which this was marked a duplicate of. However, it seems to me that pGina doesn't support adding custom UI to the logon screen, which would be essential to me. Also, though I found a mention of being able to use secondary creditential providers (https://github.com/pgina/pgina/issues/105), I can't find a description on how should I implement one.

So please prove me wrong, or just point me to aome other resources!

Thanks in advance!

Upvotes: 5

Views: 4496

Answers (1)

Alexander Mantzoukas
Alexander Mantzoukas

Reputation: 325

To achieve that kind of control you have to create a COM object that implements ICredentialProvider. You will also need an implementation of ICredentialProviderCredential as well.

I had the same problem before, so I have made an example in C# that gives you that kind of control by creating a custom ICredentialProvider .NET class and exposing that to COM.

You can find it here: https://github.com/phaetto/windows-credentials-provider

For more details you will need to check the "Credential Provider Technical Reference" to sort out the specific scenarios you will need to support.

Upvotes: 4

Related Questions