当前位置:  开发笔记 > 后端 > 正文

访问CRM/Sharepoint Web服务中的DefaultCredentials

如何解决《访问CRM/SharepointWeb服务中的DefaultCredentials》经验,为你挑选了0个好方法。

我创建了一个访问CRM的Web服务的应用程序.问题是,当我将dll部署到Sharepoint服务器时,它未经授权就返回错误401.显然System.Net.CredentialCache.DefaultCredentials不起作用(我的怀疑).这是代码.

CrmSdk.CrmAuthenticationToken token = new CrmSdk.CrmAuthenticationToken();
token.AuthenticationType = AuthenticationType.AD;
token.OrganizationName = ORGANIZATION_NAME;

CrmService service = new CrmService();
service.Url = "http://crmserver:5555/mscrmservices/2007/crmservice.asmx";
service.CrmAuthenticationTokenValue = token;
service.PreAuthenticate = true;
service.Credentials = System.Net.CredentialCache.DefaultCredentials;

反之亦然.

当我创建访问Sharepoint的webservice(编写插件)并将其部署到CRM服务器的应用程序时.它无法访问Sharepoint的Web服务.未经授权的错误.这是代码:

Lists listService = new Lists();
listService.PreAuthenticate = true;
listService.Credentials = System.Net.CredentialCache.DefaultCredentials;
listService.Url = "http://sharepointserver/webname/_vti_bin/Lists.asmx";

我的CRM服务器和Sharepoint服务器位于同一个域中.

对于这两个代码,如果我将凭证部分更改为类似的内容然后将其部署在服务器上,它就可以运行.

service.Credentials = new NetworkCredential("username", "password", "domain");

不过,我不想这样做,因为它在代码中显示了用户的密码.愿有人帮帮我吗?

两台服务器中的IIS都不允许匿名访问,它使用集成Windows身份验证.

谢谢


从我的本地计算机,我可以访问CRM Web服务或Sharepoint Web服务.我想我已获得授权,因为DefaultCredentials发送了我的凭据,其密码保存在" 存储的用户名和密码 "中(控制面板>用户帐户>选项卡高级>管理密码)这样,我不必输入:

service.Credentials = new NetworkCredential("username", "password", "domain");

我的本地comp的DefaultCredentials被授权访问Web服务.

我尝试在访问CRM Web服务的Sharepoint服务器上实现此功能.和..tadaa ..它将无法正常工作.哈哈哈..

我们可以将凭据注入服务器中的DefaultCredentials吗?

我要做的最后一件事是硬编码useraccount(就像上面的代码一样)

推荐阅读
李桂平2402851397
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有