gpt4 book ai didi

c# - Word 加载项 : Getting user credentials which were used to open the document from SharePoint

转载 作者:行者123 更新时间:2023-11-30 12:48:23 25 4
gpt4 key购买 nike

我们正在 C# 和 WPF 上开发一个 Word 插件。

文档从另一个域中的 SharePoint 打开,并使用加载项进行处理。打开文档时,MS Word 会要求提供 SharePoint 域的凭据。

在 Word 插件中,我需要检索这些凭据或任何安全 token ,以便与 SharePoint 进行互操作。

当我尝试从 C# 使用 CredentialsCache 时,我获得了本地 Windows/域帐户的凭据,但不是 Sharepoint 域帐户。

我了解 Word 存储 SharePoint 的凭据,因为我可以 checkin / checkout 并保存而无需重新输入密码。

但我能否以某种方式从代码中获取这些凭据以访问 SharePoint 服务而无需重新提示密码?

最佳答案

如果调用的 Web 服务使用 Windows 集成安全性,则从当前 WindowsIdentity 创建 NetworkCredential 应该足以允许 Web 服务使用当前用户 Windows 登录。但是,如果 Web 服务使用不同的安全模型,则没有任何方法可以从当前身份中提取用户密码……这本身就是不安全的,允许您(开发人员)窃取您的用户密码.您可能需要为您的用户提供某种方式来提供他们的密码,如果您不希望他们不得不重复提供密码,则将其保存在某个安全的缓存中。

编辑:要获取当前身份的凭据,请使用以下命令:

Uri uri = new Uri("http://tempuri.org/");
ICredentials credentials = CredentialCache.DefaultCredentials;
NetworkCredential credential = credentials.GetCredential(uri, "Basic");

关于c# - Word 加载项 : Getting user credentials which were used to open the document from SharePoint,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14236718/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com