gpt4 book ai didi

javascript - SharePoint 2010 和 "get_groups"方法

转载 作者:行者123 更新时间:2023-11-28 19:40:55 26 4
gpt4 key购买 nike

嘿,

我使用 SharePoint 的 JavaScript API。我需要知道用户是否属于某个组。

使用 SahrePoint 2013,我已成功收集当前用户的所有组 this.currentUser.get_groups(),但使用 SharePoint 2010,我的 JS 控制台上出现此错误 该对象确实不支持属性或方法“get_groups”

你能帮我吗?

塞缪尔_

最佳答案

此错误发生自 SP.User.groups property在 SharePoint 2013 的 CSOM API 中引入。

如何通过 SharePoint 2010 中的 JSOM 确定用户是否属于某个组

示例1

下面的例子演示了如何判断当前用户是否属于该组:

function isCurrentUserMemberOfGroup(groupId, OnComplete) {

var context = SP.ClientContext.get_current();
var currentUser = context.get_web().get_currentUser();
context.load(currentUser);
var group = context.get_web().get_siteGroups().getById(groupId);
context.load(group,'Users');
context.executeQueryAsync(OnSuccess,OnFailure);

function OnSuccess(sender, args) {
var userInGroup = false;
var e = group.get_users().getEnumerator();
while (e.moveNext()) {
var groupUser = e.get_current();
if (groupUser.get_id() == currentUser.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}

function OnFailure(sender, args) {
OnComplete(false);
}
}

使用

//Is current user the member of Owners group?
isCurrentUserMemberOfGroup(5, function (isCurrentUserInGroup) {
if(isCurrentUserInGroup)
{
console.log('Current user has been granted Full Control permissions (via Owner group)');
}
});

示例2

function isUserMemberOfGroup(userLoginName, groupId, OnComplete) {

var context = SP.ClientContext.get_current();
var user = context.get_web().ensureUser(userLoginName);
context.load(user);
var group = context.get_web().get_siteGroups().getById(groupId);
context.load(group,'Users');
context.executeQueryAsync(OnSuccess,OnFailure);

function OnSuccess(sender, args) {
var userInGroup = false;
var e = group.get_users().getEnumerator();
while (e.moveNext()) {
var groupUser = e.get_current();
if (groupUser.get_id() == user.get_id()) {
userInGroup = true;
break;
}
}
OnComplete(userInGroup);
}

function OnFailure(sender, args) {
OnComplete(false);
}
}

使用

isUserMemberOfGroup('domain\\username', 5, function (isCurrentUserInGroup) {
if(isCurrentUserInGroup)
{
console.log('User has been granted Full Control permissions (via Owner group)');
}
});

关于javascript - SharePoint 2010 和 "get_groups"方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25062588/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com