【发布时间】:2014-10-12 13:24:28
【问题描述】:
我想限制 Sitecore Item Web API 仅将数据发送给经过身份验证的用户,并且根据文档,我们需要将 http request header 中的用户名和密码传递为 X-Scitemwebapi-Username 和 X-Scitemwebapi-Password
为此,我使用了以下代码:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://scapidemo.local/-/item/v1/?sc_itemid={110D559F-DEA5-42EA-9C1C-8A5DF7E70EF9}&sc_database=master");
request.Headers["X-Scitemwebapi-Username"] = "admin";
request.Headers["X-Scitemwebapi-Password"] = "b";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Response.Write(String.Format("Content length is {0}", response.ContentLength));
Response.Write(String.Format("Content type is {0}", response.ContentType));
// Get the stream associated with the response.
Stream receiveStream = response.GetResponseStream();
// Pipes the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader(receiveStream, Encoding.UTF8);
Response.Write("<br /> Response stream received. <br />");
Response.Write(readStream.ReadToEnd());
在Sitecore.ItemWebApi.config 我为我的网站添加了如下设置:
itemwebapi.mode="StandardSecurity"
itemwebapi.access="ReadOnly"
itemwebapi.allowanonymousaccess="false"/>
现在在运行我的应用程序时出现此错误:
{"statusCode":401,"error":{"message":"Access to site is not granted."}}
【问题讨论】:
标签: c# sitecore sitecore7.2