EpiServer Web服务6.0,使用web服务时验证问题(EpiServer Web serv

2019-10-29 12:53发布

我在做一个控制台应用程序,将告诉EpiServer网络服务来添加页面。 我的问题是,我不能让autentication工作。 我创建了一个外延backofice一个web服务的用户。 我可以通过我的帐户的浏览器登入到web服务。

从控制台应用程序的代码示例如下。

var client2 = new ContentChannel.ContentChannelServiceSoapClient();
client2.ClientCredentials.UserName.UserName = "username";
client2.ClientCredentials.UserName.Password = "password";
client2.Open();

client2.ImportPage1(null, "Pagename", null, null, "sv", newGuid, parentGuid, "pagetype");
client2.Close();

该错误消息我得到的是

System.Web.Services.Protocols.SoapException:服务器无法处理请求。 ---> EPiServer.Core.EPiServerException:用户不具有“Permission.WebServiceAccess”在EPiServer.WebServices.DataFactoryService.ValidateWebServiceAccess访问远程网站上的网络服务,为用户访问权()
在EPiServer.WebServices.ContentChannelService.ValidateWebServiceAccess()在EPiServer.WebServices.ContentChannelService.ImportPage(字符串的channelID,字符串页面名,字符串[] propertyKeys,字符串[] propertyValues,字符串cultureName,的Guid PAGEID,的Guid parentPageId,字符串pageTypeName)---内部异常堆栈跟踪的结尾---

我不知道如果我需要证明我如何在配置文件中这样做,但如果我要补充的是,只要告诉我。 如果有人知道如何从这里走,请回答。 提前致谢!

编辑

我得到的错误有一个名字,我得到的登录提示,而不是窗体身份验证,我可以使用一些Web服务的方法,如

ContentChannel.GetMaxRequestLength()

但每当我试着正确使用web服务或致电ValidateWebServiceAccess我得到这个错误()

System.Web.Services.Protocols.SoapException: Server was unable to
process request. ---> EPiServer.Core.EPiServerException: The user does
not have the 'Permission.WebServiceAccess' access right to access web
services on the remote site, for user andreas

Answer 1:

首先,请点击此链接安装和配置Web服务: http://world.episerver.com/Documentation/Items/Tech-Notes/EPiServer-CMS-6/EPiServer-CMS-60/Web-Services/

然后去EPIServer管理模式,单击配置选项卡,然后权限的安全功能分组,然后单击编辑近“允许用户充当Web服务用户”。 添加您的用户,点击保存。

打开IE浏览器后,打开你的本地URL http://<yourlocalsite>/WebServices/ContentChannelService.asmx

确保你不会被重定向到登录界面,但收到浏览器登录/通弹出。 试着用你的web服务的用户登录。

此外,还要确保这是在你的代码来完成:

当使用.NET SOAP客户端带有EPiServer CMS通信,设置属性SoapHttpClientProtocol.PreAuthenticate为true,以确保用户名和密码在每个请求发送到服务器



文章来源: EpiServer Web service 6.0, problems authenticating when using webservice