我正在创建一个In / Out系统托盘应用程序,它通过Microsoft Lync API与Microsoft Lync Server交互。有没有办法将当前Windows用户的用户名和密码传递给Lync API,这样用户就会自动登录而不是让他们每次都输入凭据?
答案 0 :(得分:2)
不,不像,例如访问Web服务时,无法强制Lync使用登录的用户凭据。第一次在计算机上运行Lync客户端时,您可以看到这一点 - 即使您以域用户身份登录到计算机,也会提示您输入域凭据。
但是,所有内容都不会丢失,因为Lync(默认情况下)会在输入时保存凭据,然后每次以该用户身份登录时将其呈现给服务器。您可以检查Lync是否设置为在注册表中保存密码:
[HKEY_CURRENT_USER\Software\Microsoft\Communicator]
"SavePassword"=dword:00000001
要在API中利用此功能,您需要:
现在 - 如果您的用户之前未登录过Lync(或您的应用),您将收到CredentialRequested事件。
(我不记得我最喜欢上面2或3中哪种方法是推荐的方法 - 最好同时尝试两种方法,看看你最幸运的是哪种方法)
下次该用户登录时(假设在注册表中将SavePassword设置为true),将传递保存的凭据,因此用户将在不触发CredentialRequested事件的情况下登录。
This MSDN article很好地介绍了这个过程(我假设您在UI Supressed模式下运行Lync,因为这只是在压缩模式下的一个问题)