10

というわけで、シナリオはこちら。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 を「ラップ」する独自の認証パッケージを作成できます。そのためのサンプルコードはありますか?または、別のより適切な方法はありますか?

ありがとうございます。

4

3 に答える 3

0

Windows SDK のサンプルを試すことができます。フル AP より実装が簡単なサブ認証パッケージがあります。

于 2015-08-05T13:29:00.617 に答える
0

PKIが資格情報ストレージの事実上の標準になったため、GINAが過去に去って以来、Windowsログオンで作業を行っていません。しかし...

あなたの質問はいくつかのサンプルコードを求めました.ここに完全な説明があります

http://msdn.microsoft.com/en-gb/magazine/cc163489.aspx#S4

これは少し古いので、スマート カードのことを指しています。おそらく、トークンと言うときはまだスマート カードのことを言っているのでしょうが、USB ドライブのことを言っているのではないかと思います。ただし、このレベルの開発を試みる場合、スマート カードの読み取り/書き込みと USB の読み取り/書き込みのコードを簡単に交換できます。

于 2013-09-20T08:51:41.383 に答える
-3

データベース内のデータで入力をチェックする独自のコードをいつでも作成できます。それには多くの方法があります。 これは、それを行うスマートで退屈な方法に関するビデオです。

これはカスタム Windows 認証パッケージに関するページです が、実際には確認していません。

于 2013-12-31T09:32:40.923 に答える