【问题标题】:Load SharePoint List data on a page without having permission on a list using Javascript REST Api使用 Javascript REST Api 在没有列表权限的情况下在页面上加载 SharePoint 列表数据
【发布时间】:2014-05-30 19:07:06
【问题描述】:

在此 javascript 中,我在下拉框中加载了 SharePoint 列表“XYZ”的所有项目 ID。 我已从列表权限中删除了用户“Manoj”,但它在我使用内容编辑器放置此 javascript 的页面上具有权限。 现在,当我使用站点管理员访问此页面时,我可以在下拉列表中看到列表项 ID,但是当我继续下一个用户“Manoj”时,该用户没有列表权限但在页面上比它给我的消息像 “拒绝访问。您无权执行此操作或访问此资源。”

所以我的问题是我们可以在用户在列表中没有权限但对页面具有完全权限的 Web 部件页面中加载列表数据吗?我问这个问题是因为如果用户只想使用 Web 部件页面添加或编辑数据,我不授予用户查看列表和执行操作的权限。

如果没有,那么还有其他方法吗:使用 javascript 在页面加载时更改用户。

下面是我使用的javascript rest api

<script type="text/javascript">
$( window ).load(function() {
DisplayItem();
});
function DisplayItem(){

 var requestUri = 'http://abc/pharma/Zdus/RnD/_api/Web/Lists/getByTitle(\'XYZ\')/items'
 var requestHeaders = {
 'accept': 'application/json;odata=verbose'
 }; 
 $.ajax({
 url: requestUri, 
 dataType: "json", 
 type: 'GET',
 headers: requestHeaders,
success: function(json) {
var len= (json.d.results.length);
var x=document.getElementById("myList");
for (var i=0;i<len;i++)
{
var nid=(json.d.results[i].ID);
x.options[x.options.length] = new Option(nid, nid);
}
}, 
 error: function(error){
 alert(error.responseText);
 }
 });
}
</Script>
<div>
<label>Total Items</label>
       <select id="myList" >
        <option value=''></option>
</select>

高度赞赏任何帮助。 不:这适用于站点管理员和具有列表权限的用户

【问题讨论】:

    标签: javascript rest sharepoint sharepoint-2013


    【解决方案1】:

    如果用户对该列表没有权限,您可以从 Sharepoint 加载或获取数据。

    要从 Sharepoint 获取数据,至少需要读取权限。您只能向用户授予读取权限。

    【讨论】:

    • 嗨 Aanchal 首先感谢您的回复,但在这里我想在用户从下拉菜单中选择 id 时执行 CRUD 操作,然后在一个显示的
      html 表单中,并且该用户可以添加或编辑项目SharePoint 列表。
    • 那么你必须为用户提供贡献权限。或者,如果您为此使用代码隐藏,则可以使用 runwithelevatedprivileges 委托方法。
    • 没有。我们不能在 javascript api 中使用它。您必须提供权限,否则将存在任何人对列表执行 CRUD 操作的安全漏洞。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签