加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – Word加载项:获取用于从SharePoint打开文档的用户凭据

发布时间:2020-12-15 21:45:22 所属栏目:百科 来源:网络整理
导读:我们正在开发C#和 WPF的Word加载项. 这些文档是从位于另一个域中的SharePoint打开的,并使用加载项进行处理. 打开文档时,MS Word会要求提供SharePoint域的凭据. 在Word加载项中,我需要检索这些凭据或任何安全令牌,以便与SharePoint进行集成. 当我尝试使用C#中
我们正在开发C#和 WPF的Word加载项.

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

在Word加载项中,我需要检索这些凭据或任何安全令牌,以便与SharePoint进行集成.

当我尝试使用C#中的CredentialsCache时,我获得了本地Windows /域帐户的凭据,但没有获得Sharepoint域帐户的凭据.

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

但是我可以以某种方式从代码中获取这些凭据以访问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");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读