繁体   English   中英

SharePoint Hosted App 2013:自定义List / AllItems.aspx页

[英]SharePoint Hosted App 2013: Customize List/AllItems.aspx page

我正在尝试在SharePoint托管应用中实现权限级别。 我创建了一个自定义列表“权限”,在其中添加了不同用户及其角色。

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

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

此处的所有操作都是在App网站上完成的,我在托管网站上没有任何使用。

我已经找到了解决方法。 基本上,我所做的是我只是从直接访问中隐藏了列表视图。 为此,请打开列表的Schema.xml并替换“ JSLink”:

<JSLink>clienttemplates.js</JSLink>

<JSLink>~site/Scripts/OverrideListView.js</JSLink>

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

document.write("<style>body {display:none; };</style>");

现在尝试直接访问Lists / Permissions / Allitems.aspx 您将获得一个空白页。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM