0

我需要找出当前用户是否是 spfx react 中的站点所有者。请在下面找到我现在正在使用的代码

 const ownerGroupId = (await sp.web.associatedOwnerGroup()).Id
    const users = await sp.web.siteGroups.getById(ownerGroupId).users();
    await sp.web.currentUser.get().then(async(user) => {
if(users.some(r=>r.Id==user.Id))
{
console.log("Site Owner")
}
});

但我面临的问题是在网站所有者组中拥有当前用户所属的组。我需要比较嵌套在站点所有者组中的用户。任何帮助将不胜感激

4

1 回答 1

1

这种方法怎么样:

web.getCurrentUserEffectivePermissions().then((permissions)=>{
   if(web.hasPermissions(permissions,PermissionKind.ManageWeb) && web.hasPermissions(permissions,PermissionKind.ManagePermissions)&& web.hasPermissions(permissions,PermissionKind.CreateGroups))
   {
     console.log("User is site owner");
   }
   else
   {
     console.log("User is not site owner");
   }

或者

const currentUser = await sp.web.currentUser.get();
const response = await this.context.spHttpClient.get(`${this.context.pageContext.web.absoluteUrl}/_api/site/owner`, SPHttpClient.configurations.v1);
const siteOwner: any = await response.json();
let siteOwner: boolean = userData ? userData.Id === currentUser.Id ? true : false: false;
于 2021-12-10T13:15:29.697 回答