私は次の詳細でクライアントサーバーアプリケーションに取り組んでいます:
Client(C++) -----------HTTPS--- Server (C#/WCF)
サーバー:
- Windows Active Directory ドメインのユーザーと
- Windows AD に対する認証サービスを提供する IIS で実行される WCF サービス
- Windows API logonUser を使用した REST ベースの認証 API を提供します。
クライアント:
- クライアントは REST SDK (Visual Studio 2013 ベース) を使用してサーバーに接続します
- クライアントは、HTTPS を使用した認証のための認証 API を提供します。
現在、サーバーでクライアントにログインしているWindowsユーザーを認証するために取り組んでいます:
- AD ユーザーがクライアントにログインし、認証 API を呼び出す
- 現在ログインしているユーザーの詳細は、HTTPS を使用してサーバーに送信する必要があります (もちろんユーザー名のみ)。
- クライアントから取得した情報を使用して WindowsIdentity 構造を作成します。
私は次のことを試しました:
- クライアント マシンから SID を取得し、サーバーに渡します。クライアント ログインの SID から WindowsIdentity を再作成します。
- 渡された SID から WindowsIdentity を取得できませんでした。
質問:
- クライアントから渡されたログインした AD ユーザーの SID からサーバー (C#) で Windows ID を取得する方法は?
- 上記の設定を達成するための他のより良い方法はありますか?