ECMAScript不适用于匿名用户

时间:2014-07-23 10:36:48

标签: javascript sharepoint

我有一个类似下面的代码来获取我的SharePoint 2013门户网站项目中的当前网站

var clientContext;
var website;
SP.SOD.executeFunc('sp.js', 'SP.ClientContext', sharePointReady);
function sharePointReady() {
clientContext = SP.ClientContext.get_current();
website = clientContext.get_web();

clientContext.load(website);
clientContext.executeQueryAsync(onRequestSucceeded, onRequestFailed);
}
function onRequestSucceeded() {
    alert('URL of the website: ' + website.get_url());
}
function onRequestFailed(sender, args) {
    alert('Error: ' + args.get_message());
}

当我登录网站时,一切都很完美。但是,当我用匿名用户网站开放网站时,网址不是不可用的。我错过了什么吗?

由于

1 个答案:

答案 0 :(得分:3)

在SharePoint 2013中引入了新的权限级别Remote Interfaces Permission,特别是防止匿名用户访问CSOM库。

如何为匿名用户启用CSOM

  • 转到管理中心
  • 转到“管理Web应用程序”
  • 选择您的网络应用
  • 单击功能区中的身份验证提供程序
  • 点击“默认”区域。
  • 取消选中“需要使用远程接口权限”

该复选框将CSOM与Use Remote Interfaces权限的使用分开。选中时,它只表示用户必须拥有Use Remote Interfaces权限,该权限允许访问SOAP,Web DAV,客户端对象模型。

参考