0

ユーザーを Windows アカウントにバインドするときは、この投稿に従って UserPrincipal SamAccountName を使用します (バインドはデータベースに保存されます)。次に、ログインを行うときに、このバインドされたユーザー (データベースから) をログインしている Windows アカウントに対してチェックする必要があります。これは、WindowsIdentity オブジェクトを使用して行われます。

問題は、WindowsClient.Name が単に SamAccount ではなく Group\SamAccountName を示すことですか? グループを使用するのは良いことですが、UserPrincipal はこれを返さないようですか?

では、どのように一致させる必要がありますか?WindowsClient.Name の Group を削除するだけですか、それとも UserPrincipal に追加する方法はありますか?

4

1 に答える 1

1

ここにはいくつかのオプションがあります。

  1. のみを使用してプリンシパルを比較しないでくださいSamAccountName。単一のドメイン内でのみ一意です。代わりに SID を使用してくださいUserPrincipal.SidWindowsIdentity.User

  2. WindowsIdentity現在のユーザーを取得するために使用しないでくださいUserPrincipal.Current。代わりに使用してください。

于 2015-07-09T09:22:08.657 に答える