Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Sitecore 7.2-项目Web API用户身份验证_C#_Sitecore_Sitecore7.2 - Fatal编程技术网

C# Sitecore 7.2-项目Web API用户身份验证

C# Sitecore 7.2-项目Web API用户身份验证,c#,sitecore,sitecore7.2,C#,Sitecore,Sitecore7.2,我想限制Sitecore项目Web API仅向经过身份验证的用户发送数据&根据文档,我们需要在http请求头中将用户名和密码作为X-Scitemwebapi-Username&X-Scitemwebapi-password 为了实现这一点,我使用了以下代码: HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“http://scapidemo.local/-/item/v1/?sc_itemid={110D559F-DEA5-42EA-9C1C

我想限制Sitecore项目Web API仅向经过身份验证的用户发送数据&根据文档,我们需要在
http请求头中将用户名和密码作为
X-Scitemwebapi-Username
&
X-Scitemwebapi-password

为了实现这一点,我使用了以下代码:

HttpWebRequest请求=(HttpWebRequest)WebRequest.Create(“http://scapidemo.local/-/item/v1/?sc_itemid={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&sc_database=master”);
request.Headers[“X-Scitemwebapi-Username”]=“admin”;
请求标题[“X-Scitemwebapi-Password”]=“b”;
HttpWebResponse=(HttpWebResponse)request.GetResponse();
Write(String.Format(“内容长度为{0}”,Response.ContentLength));
Write(String.Format(“内容类型为{0}”,Response.ContentType));
//获取与响应关联的流。
Stream receiveStream=response.GetResponseStream();
//使用所需的编码格式将流传送到更高级别的流读取器。
StreamReader readStream=新的StreamReader(receiveStream,Encoding.UTF8);
写入(“
接收到响应流。
”); Write(readStream.ReadToEnd());
Sitecore.ItemWebApi.config
中,我为我的网站添加了如下设置:

itemwebapi.mode=“StandardSecurity”
itemwebapi.access=“只读”
itemwebapi.allowanonymousaccess=“false”/>
现在,在运行我的应用程序时,我遇到以下错误:

{"statusCode":401,"error":{"message":"Access to site is not granted."}}  

您正在传递的用户不属于该用户所属的域。ItemWebAPI没有默认域,因此每次进行调用时都需要像“域\用户”这样传递用户

上面所说的一切-像这样尝试:

request.Headers["X-Scitemwebapi-Username"] = @"sitecore\admin";
request.Headers["X-Scitemwebapi-Password"] = "b";

如果我添加更改值'sitecore\admin',我将得到无效字符错误@Vikram很高兴它有帮助!