Sharepoint 2013-Web应用程序权限策略问题

问题描述 投票:0回答:1

在我们的共享服务器场中,我们分为两组:

用户-包含我们应用程序的所有用户(包括管理员)

管理员-包含具有管理员权限的用户

我目前正在尝试拒绝“用户”组中所有用户的系统页面(_layouts /文件)访问,以防止在不通过相应的Webpart UI的情况下修改列表等。为此,我在“查看应用程序页面”上为DENY添加了权限策略。这按正常用户的预期工作,但问题是它还会阻止管理员访问列表等。

我曾尝试将所有内容授予Admins组,但拒绝仍然会覆盖它,从而阻止访问。

当管理员的用户被另一个组阻止时,如何授予管理员访问权限?

sharepoint-2013
1个回答
0
投票
下面的脚本包含要检查的逻辑是用户管理员。

function IsCurrentUserMemberOfGroups(groups, OnComplete) { var currentContext = new SP.ClientContext.get_current(); var currentWeb = currentContext.get_web(); var currentUser = currentWeb.get_currentUser(); var isAdmin = currentUser.get_isSiteAdmin(); var oGroups = currentUser.get_groups(); currentContext.load(isAdmin); currentContext.load(currentUser); currentContext.load(oGroups); currentContext.executeQueryAsync(OnSuccess, OnFailure); function OnSuccess(sender, args) { var userInGroup = false; console.log('Admin check' + isAdmin); if (!isAdmin) { var groupEnumerator = oGroups.getEnumerator(); while (groupEnumerator.moveNext()) { var oGroup = groupEnumerator.get_current(); var groupTitle = oGroup.get_title(); console.log(groupTitle); $.each(groups, function (index, value) { if (value == groupTitle) { console.log('user in group ' + groupTitle); userInGroup = true; } }); if (userInGroup) break; } } OnComplete(userInGroup); } function OnFailure(sender, args) { OnComplete(false); } }

然后,将用户重定向到一个友好的页面。

将脚本添加到母版页或添加为javascript链接,因为它需要在全局范围内运行。

SharePoint Custom JS file Best Practice

© www.soinside.com 2019 - 2024. All rights reserved.