首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SharePoint托管的App 2013:定制List/AllItems.aspx页面

SharePoint托管的App 2013:定制List/AllItems.aspx页面
EN

Stack Overflow用户
提问于 2014-10-15 13:19:36
回答 1查看 1.8K关注 0票数 0

我试图在SharePoint托管的应用程序中实现权限级别。我已经创建了一个自定义列表“权限”,其中我添加了不同的用户和他们的角色。

我已经创建了一个页面List.aspx,在该页面中,我将我的自定义列表“产品”显示为列表视图web部件。页面List.aspx根据“权限”列表检查用户的角色,页面可以显示或隐藏有关此角色的内容。问题是,当用户试图导航到“list /Products/Allitems.aspx”或“list/ problem /allitems.aspx”时,他可以看到列表项。

所有的代码检查都是用JavaScript进行的,我知道存在安全风险,但这对我的用户来说是有效的。我只需要找到一种将自定义JavaScript代码注入Allitems.aspx的方法,并检查用户是否拥有查看它的权限。

这里的一切都是在App上完成的,而我在主机上没有使用任何东西。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-31 12:08:43

我已经找到解决办法了。基本上,我所做的就是对直接访问隐藏列表视图。为此,打开列表的Schema.xml并替换"JSLink":

从…

代码语言:javascript
复制
<JSLink>clienttemplates.js</JSLink>

代码语言:javascript
复制
<JSLink>~site/Scripts/OverrideListView.js</JSLink>

现在,创建一个新文件Scripts/OverrideListView.js并向其添加以下代码:

代码语言:javascript
复制
document.write("<style>body {display:none; };</style>");

现在尝试直接访问Lists/Permissions/Allitems.aspx。你会得到一个空白页。

这基本上是知道如何将自定义JS代码插入到列表视图中。您可以添加其他代码,以检查当前用户在站点级别上的权限,并相应地取消此视图的隐藏,如果用户没有正确的角色或权限,甚至可以将其重定向到主页。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26383654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档