というわけで、シナリオはこちら。Windows 7 でログオン システムを開発しています。資格情報を 1 つ含む資格情報プロバイダーを作成しました。資格情報には、ユーザー名、パスワード、および PIN の 3 つの入力フィールドがあります。
私がドキュメント (CMIIW) から学んだことは、フィールドに入力してログオンをクリックすると、WINLOGON がユーザー名とパスワードを取得し、LSALogonUser() を呼び出して認証することで LSA に送信するということです。次に LSA は、認証パッケージ KERBEROS (リモート ログオンの場合) または MSV1_0 (ローカル ログオンの場合) とのネゴシエーションを試みます。
ここでは、ローカル シナリオのみを想定します。ユーザー名とパスワードは MSV1_0 に渡され、SAM データベース内のものと照合されます。問題は、SAMデータベースでチェックしたくないということです。トリプレットとしてエントリを含むファイル C:\users.txt があるとします: {username ; パスワード; ピン}。ここにあるすべてのユーザー名は、Windows の既存のユーザーです。認証が私のやり方に従うようにするにはどうすればよいですか (ファイル C:\users.txt.
私が間違っていなければ、MSV1_0 を「ラップ」する独自の認証パッケージを作成できます。そのためのサンプルコードはありますか?または、別のより適切な方法はありますか?
ありがとうございます。