So, here is the scenario. I am developing a logon system in windows 7. I have created a Credential Provider, containing one Credential. The Credential has three input fields, username, password, and PIN.
From what I have learned the documentation (CMIIW) is that when we fill in the fields and click logon, WINLOGON will retrieve the username and password, and send it to LSA by calling LSALogonUser() to authenticate. LSA then will try negotiate with Authentication Package KERBEROS (for remote logon) or MSV1_0 (for local logon).
Assume only the local scenario for now, the username and password will be passed to MSV1_0, and be checked with those in SAM database. Now the thing is, I don't want it to be checked with SAM database. Lets say I have a file C:\users.txt which contains entries as triplets: {username ; password ; PIN}. All the username here is an existing user in windows. How do I make it so that the authentication is following my way (checking the file C:\users.txt.
If I'm not mistaken, we can create our own Authentication Package that 'wraps' the MSV1_0. Do you guys have a sample code for that? Or is there another more appropriate way?
Thank you, I appreciate your helps very much.