2011-03-01 24 views

回答

2

不,例如,訪問Web服務時,無法強制Lync使用登錄用戶憑據。您可以在首次在您的計算機上運行Lync客戶端時看到這一點 - 即使您以域用戶的身份登錄到計算機,系統也會提示您輸入域憑據。

雖然Lync(默認情況下)會在輸入密碼時保存憑據,但每次登錄時都會以該用戶的身份將其顯示回服務器。您可以檢查,看看是否的Lync設爲保存密碼在註冊表中:

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

要利用這個API中,您需要:

  1. 初始化客戶端以通常的方式
  2. 註冊爲lyncClient.CredentialRequested事件
  3. 呼叫lyncClient.BeginSignIn,通過登錄用戶的SIP URI上(在lyncClient.Uri屬性通常設置爲用戶的URI,它最近一次登錄,爲了方便)。傳遞null作爲用戶名和密碼。

現在 - 如果您的用戶以前沒有登錄到Lync(或您的應用程序),您將獲得CredentialRequested事件。

  1. 取消使用CredentialRequestedEventArgs.Cancel事件()
  2. 顯示一些用戶界面來收集用戶的用戶名和密碼,然後調用BeginSignIn使用這些憑證
  3. 或者,撥打BeginSignIn使用空用戶名和密碼,然後處理CredentialRequested,並使用在CredentialRequestedEventArgs提交方法提交憑據到服務器(Submit方法的最後一個參數必須設置爲True,以保存密碼)

(我不記得Ø ff我的頭頂上面2或3中的哪一種方法是推薦的方法 - 最好試一下,看看你最幸運的是哪一個)

下一次用戶登錄(假設SavePassword設置爲true註冊表),保存的憑據將被傳遞,所以用戶將登錄而不需要CredentialRequested事件觸發。

This MSDN article涵蓋了工藝相當不錯(我假設你在UI Supressed模式運行Lync,因爲這是隻有在抑制模式中的問題)

相關問題