我正在創建一個通過Microsoft Lync API與Microsoft Lync Server交互的In/Out系統托盤應用程序。有沒有辦法將當前windows用戶的用戶名和密碼傳遞給Lync API,以便用戶自動登錄,而不是每次都輸入憑據?有沒有辦法將當前Windows用戶的憑據傳遞到LyncClient.Submit()
1
A
回答
2
不,例如,訪問Web服務時,無法強制Lync使用登錄用戶憑據。您可以在首次在您的計算機上運行Lync客戶端時看到這一點 - 即使您以域用戶的身份登錄到計算機,系統也會提示您輸入域憑據。
雖然Lync(默認情況下)會在輸入密碼時保存憑據,但每次登錄時都會以該用戶的身份將其顯示回服務器。您可以檢查,看看是否的Lync設爲保存密碼在註冊表中:
[HKEY_CURRENT_USER\Software\Microsoft\Communicator]
"SavePassword"=dword:00000001
要利用這個API中,您需要:
- 初始化客戶端以通常的方式
- 註冊爲lyncClient.CredentialRequested事件
- 呼叫lyncClient.BeginSignIn,通過登錄用戶的SIP URI上(在lyncClient.Uri屬性通常設置爲用戶的URI,它最近一次登錄,爲了方便)。傳遞null作爲用戶名和密碼。
現在 - 如果您的用戶以前沒有登錄到Lync(或您的應用程序),您將獲得CredentialRequested事件。
- 取消使用CredentialRequestedEventArgs.Cancel事件()
- 顯示一些用戶界面來收集用戶的用戶名和密碼,然後調用BeginSignIn使用這些憑證
- 或者,撥打BeginSignIn使用空用戶名和密碼,然後處理CredentialRequested,並使用在CredentialRequestedEventArgs提交方法提交憑據到服務器(Submit方法的最後一個參數必須設置爲True,以保存密碼)
(我不記得Ø ff我的頭頂上面2或3中的哪一種方法是推薦的方法 - 最好試一下,看看你最幸運的是哪一個)
下一次用戶登錄(假設SavePassword設置爲true註冊表),保存的憑據將被傳遞,所以用戶將登錄而不需要CredentialRequested事件觸發。
This MSDN article涵蓋了工藝相當不錯(我假設你在UI Supressed模式運行Lync,因爲這是隻有在抑制模式中的問題)
相關問題
- 1. 將當前用戶憑據傳遞給遠程服務器
- 2. 有沒有辦法將變量傳遞到流星模板中?
- 3. 有沒有辦法將上下文傳遞到onDrawFrame(GL10 gl)?
- 4. Middleman Slim模板 - 有沒有辦法將變量傳遞到YAML前端?
- 5. 沒有Windows憑據的netTcpBinding?
- 6. 有沒有辦法檢查當前沒有登錄的用戶的角色?
- 7. 將用戶的憑據傳遞給所有視圖node.js
- 8. 有沒有辦法將我當前的SSH連接用於SCP傳輸?
- 9. 有沒有辦法將textarea-rows的參數從數據庫傳遞到html
- 10. 有沒有辦法將數據從Fragment傳遞到適配器的onBindViewHolder?
- 11. 將用戶憑據傳遞給Webservice
- 12. 有沒有辦法將上傳的文件提供給用戶?
- 13. 有沒有辦法將MySQL數據庫從Windows導入到Linux?
- 14. 有沒有辦法將任務ID傳遞給調用函數?
- 15. 有沒有辦法獲得當前登錄到CouchDB的用戶列表?
- 16. 用戶有沒有辦法看到PHP?
- 17. 有沒有辦法減去先前行數據的當前行並將其保存到當前行
- 18. WCF Windows憑據沒有域?
- 19. 傳遞用戶憑據到Web服務
- 20. 傳遞用戶憑據到WCF服務
- 21. 傳遞用戶憑據到Exchange
- 22. 有沒有辦法將數據從一個視圖傳遞到modalviewcontroller
- 23. 有沒有辦法將方法作爲塊傳遞?
- 24. 將Windows用戶憑據傳遞給Web服務
- 25. 有沒有辦法將WebElement傳遞給Robot中的javascript?
- 26. Jenkins沒有檢測到Windows憑據管理器的GIT憑據
- 27. 有沒有辦法將應用程序的GUI帶到當前桌面?
- 28. 如何通過當前Windows用戶憑據連接到Exchange Server?
- 29. 有沒有辦法將變量傳遞給裝飾器?
- 30. 有沒有辦法將參數傳遞給pkg