2

Sitecore ItemWebApi 大师,

为什么每次尝试发出 Sitecore ItemWebApi 请求时都会收到“未授予访问站点”的响应?

这是我的 Sitecore.ItemWebApi.config 中的安全设置

<site name="website">
    <patch:attribute name="itemwebapi.mode">StandardSecurity</patch:attribute>
    <patch:attribute name="itemwebapi.access">ReadOnly</patch:attribute>
    <patch:attribute name="itemwebapi.allowanonymousaccess">false</patch:attribute>
  </site>
</sites>

下面是我如何设置我的 ItemWebApi 请求(请注意,我使用假用户名、密码和 GUID 来实现堆栈溢出):

  var client = new WebClient();

  var n = new NameValueCollection();
  n["X-Scitemwebapi-Username"] = "extranet\\Sample_Username";
  n["X-Scitemwebapi-Password"] = "SamplePassword";

  client.Headers.Add(n);

  var result = client.DownloadString(
            "http://localhost:11111/-/item/v1/?sc_itemid={11111111-1111-1111-1111-111111111111}&scope=c");

我从我的请求中得到的响应总是:

Access to site is not granted

我正在使用站点核心 7.1。

4

1 回答 1

3

原来我为用户使用了错误的密码。我的问题中的上述代码完全有效,并将返回一个包含有关站点核心项目的所需信息的 json 响应。

我还想补充一点,您需要验证您尝试对其进行身份验证的站点核心用户是否已在站点核心中“启用”。我通过 sitecore 包为我的 Item Web Api 添加了一个用户,但不知道当你这样做时,sitecore 默认禁用该用户。实际上,您必须在用户处于活动状态之前手动“启用”它。

于 2014-05-01T15:34:36.947 回答