在 SPFX 中获取嵌套站点用户

Getting nested site users in SPFX

我需要在 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")
}
});

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

这种方法怎么样:

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;