3

私は Kerberos ログオン インフラストラクチャ (シングル サインオン) で作業しています。

  1. Kerberos Key Distribution Center に対して認証されるクライアント。
  2. Kerberos を認証として使用するプリンシパル サービス サーバー。

サーバー プログラムは C++ でコーディングされています。

プリンシパル (クライアント) とサービス プリンシパル (サーバー) の間のコンテキストを問題なく作成できます。また、クライアント ユーザー資格情報を使用してサーバー上にプロセスを作成する必要があるため、クライアント資格情報もサーバーに委任しました。

これは私の問題です。サーバー側では、SSPI コンテキストがあり、Windows の type を使用して CreateProcessAsUser が必要ですpHandle

SSPI 資格情報を使用して、クライアント ユーザーとしてサーバー上にプロセスを作成する方法がわかりません。

LsaLogonUser を調べてみましたが、これは私が望んでいること (kerberos ユーザー資格情報からハンドルを作成する) のようですが、問題は同じです。この LsaLogonUser で SSPI トークンを使用する方法がわかりません。

よろしくお願いします。

4

3 に答える 3

0

私は最終的に私の問題の解決策を見つけました。

それを行う最良の方法は次のとおりです。

  1. 委任された資格情報を一時ファイルに書き込みます。
  2. KRB5CCNAME 環境変数をこのファイルのパスに設定します。

できます ;)

于 2014-02-05T17:40:07.050 に答える