【问题标题】:Query sharepoint list anonymously匿名查询共享点列表
【发布时间】:2019-11-08 19:19:08
【问题描述】:

您好,我是否可以通过匿名身份验证访问共享点列表?我正在尝试使用 javascript 读取共享点列表,它仅在我使用管理员用户登录但未登录时才有效,但如果我没有登录,则会收到“访问被拒绝。您无权执行此操作或访问此资源。”错误信息。 我的代码如下

var siteUrl = "http://site/subsite";

var clientContext = new SP.ClientContext(siteUrl);
var clientContext = new SP.ClientContext.get_current;
var oList = clientContext.get_web().get_lists().getByTitle('Subscriptions');

var camlQuery = new SP.CamlQuery();
camlQuery.set_viewXml('<view><Query><Where><Contains><FieldRef Name=\'EMail\'/><Value Type=\'Text\'>searchText</Value></Contains></Where></Query></view>');
this.collListItem = oList.getItems(camlQuery);

clientContext.load(collListItem);

clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));

我相信该网站已设置为允许匿名身份验证。子网站也。该列表还允许匿名用户查看项目。我正在使用 sharepoint 2013

【问题讨论】:

  • 我没有成功使用 CSOM 和匿名身份验证来查询数据 - 您是否尝试过与简单的 REST API 调用相同的方法?可以通过 ODATA 'substringof' 运算符实现“包含”过滤器:msdn.microsoft.com/en-us/library/office/…
  • 我在尝试通过 JSOM 匿名查询我的列表时也遇到了同样的错误。你的运气好吗?

标签: sharepoint sharepoint-2013 caml


【解决方案1】:

默认情况下,该站点未设置为允许匿名身份验证。您必须明确允许来自 IIS 的匿名身份验证。

请检查您是否可以使用匿名用户浏览该网站。

【讨论】:

  • 我可以匿名浏览该网站,但是,当我使用 javascript 查询“订阅”列表时,我得到了上述错误
  • 您是否还在 CA 中配置(未选中)“需要使用远程权限”设置?这可能会阻止您的 CSOM。 support.sherweb.com/Faqs/Show/…
【解决方案2】:

默认情况下,列表的 getitems 方法在 SharePoint 上被阻止。您必须使用 power shell 脚本打开它。

https://sharepointinaction.wordpress.com/tag/the-method-getitems-of-the-type-list-is-blocked-by-the-administrator-on-the-server/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多