如何根据权限隐藏Sharepoint加载项中ECB菜单中的某些菜单项?我的Sharepoint应用程序是托管的Sharepoint,而不是托管的提供者,因此javascript注入方法不起作用。
由于
答案 0 :(得分:1)
检查用户是否为指定群组成员的功能
function IsCurrentUserMemberOfGroup(groupName, OnComplete) {
var currentContext = new SP.ClientContext.get_current();
var currentWeb = currentContext.get_web();
var currentUser = currentContext.get_web().get_currentUser();
currentContext.load(currentUser);
var allGroups = currentWeb.get_siteGroups();
currentContext.load(allGroups);
var group = allGroups.getByName(groupName);
currentContext.load(group);
var groupUsers = group.get_users();
currentContext.load(groupUsers);
currentContext.executeQueryAsync(OnSuccess,OnFailure);
function OnSuccess(sender, args) {
var userInGroup = false;
var groupUserEnumerator = groupUsers.getEnumerator();
while (groupUserEnumerator.moveNext()) {
var groupUser = groupUserEnumerator.get_current();
if (groupUser.get_id() == currentUser.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}
function OnFailure(sender, args) {
OnComplete(false);
}
}
<强>使用强>
function IsCurrentUserHasContribPerms()
{
IsCurrentUserMemberOfGroup("Members", function (isCurrentUserInGroup) {
if(isCurrentUserInGroup)
{
// The current user is in the [Members] group!
}
});
}
ExecuteOrDelayUntilScriptLoaded(IsCurrentUserHasContribPerms, 'SP.js');
来自here
的来源答案 1 :(得分:0)
谢谢你的帮助。最后,我在页面中得到了我想要自定义的内容。我通过创建另一个文件(我已经使用Chrome获取代码)覆盖了core.js中的CreateMenuOption。我也使用了以下js文件:https://spservices.codeplex.com/以获取连接用户的组。