2011-03-01 16 views
1

Microsoft Lync APIを使用してMicrosoft Lync Serverとやりとりする入出力トレイトレイアプリケーションを作成しています。現在のWindowsユーザーのユーザー名とパスワードをLync APIに渡して、ユーザーが毎回資格情報を入力するのではなく、自動的にログインする方法はありますか?現在のWindowsユーザーの資格情報をLyncClient.Submit()に渡す方法はありますか?

答えて

2

いいえ。 Webサービスにアクセスすると、Lyncにログオンしたユーザーの資格情報を強制的に使用させることはできません。マシンで最初に実行したときにLyncクライアント自体でこれを見ることができます。ドメインユーザーとしてマシンにログオンしている場合でも、ドメイン資格情報の入力が求められます。

Lync(既定)は入力時に資格情報を保存し、そのユーザーとしてログオンするたびに資格情報をサーバーに提示するので、すべてを失うことはありません。あなたがする必要がある、

[HKEY_CURRENT_USER\Software\Microsoft\Communicator] 
"SavePassword"=dword:00000001 

APIでこれを利用するには:あなたは、Lyncのがレジストリにパスワードを保存するように設定されているかどうかを確認することができ

  1. は、通常の方法でクライアントを初期化
  2. lyncClient.CredentialRequestedイベント
  3. コールlyncClient.BeginSignInため
  4. 登録、(lyncClient.Uriプロパティは、通常は最後の便宜のために、ログオンしたユーザーのURIに設定されている)上のユーザログの一口のURIを渡します。ユーザー名とパスワードにはnullを渡します。

あなたのユーザーが以前にLync(またはあなたのアプリケーション)にログインしていない場合は、CredentialRequestedイベントが発生します。

  1. CredentialRequestedEventArgs.Cancel()
  2. を使用してイベントをキャンセルし、ユーザーからユーザー名とパスワードを収集し、その後別の方法として、これらの資格情報
  3. でBeginSignInを呼び出し、nullのユーザ名とパスワードを使用してBeginSignInを呼び出すために、いくつかのUIを表示その後、CredentialRequestedを処理し、CredentialRequestedEventArgsでSubmitメソッドを使用してサーバーに資格証明書を提出O

(私は覚えていないこと(Submitメソッドの最後のパラメータは、パスワードを保存するTrueに設定する必要があります)上記の2または3のうちのメソッドが推奨されている方法です - 両方を試してみて、あなたに最も運があるかを確認するのが最も良い方法です)

次回はログインします(SavePasswordがtrueに設定されていると仮定します)。レジストリ)、保存された資格情報が渡されるため、ユーザーはCredentialRequestedイベントの起動なしでログインします。

This MSDN article

(これは抑制モードでのみ問題であると私は、あなたがUI SupressedモードでのLyncを実行していることを仮定している)非常にうまくプロセスをカバー
関連する問題