【问题标题】:How can I check if current user is part of a sharepoint group with PnPJS?如何检查当前用户是否是 PnPJS 共享点组的一部分?
【发布时间】:2020-05-07 01:10:07
【问题描述】:

我需要根据当前用户所属的组显示内容,但不知道如何在 react/pnpjs 中执行此操作。

我写了下面的函数,但即使在 console.log(grp["Title"]) 中返回的组名是正确的,它也会返回 false。

private _checkUserInGroup(strGroup)
  {

    let InGroup:boolean = false;

    let grp = sp.web.currentUser.groups.get().then((r: any) => {      
      r.forEach((grp: SiteGroups) =>{
        if (grp["Title"] == strGroup)
        {
           InGroup = true; 
        }
        console.log(grp["Title"]);
      });
    });

    return InGroup;
  }

【问题讨论】:

    标签: reactjs sharepoint spfx pnp-js


    【解决方案1】:

    您的要求非常广泛,因为我们真的不知道您尝试了什么。

    循序渐进

    1. 找出当前用户属于哪些组。
    2. 将适当的数据提取到某种形式的内存存储中。
    3. 显示内存存储中的数据。

    您正在为哪一步而苦苦挣扎?

    https://pnp.github.io/pnpjs/sp/site-users/

    import { sp } from "@pnp/sp";
    import "@pnp/sp/webs";
    import "@pnp/sp/site-users/web";
    
    let groups = await sp.web.currentUser.groups();
    

    干杯

    真人

    【讨论】:

    • 嗨,对不起...我卡在第 1 步...我需要知道当前用户是否属于 xxx 组...
    • 问题是标题。
    • 希望以上内容对您有所帮助
    【解决方案2】:

    我设法通过在函数中放置 async/await 来完成这项工作......它在调用 sp.web 之前返回 false...... 非常感谢您的帮助。

    【讨论】:

    • 我建议将您的答案标记为问题答案;)
    猜你喜欢
    • 1970-01-01
    • 2019-09-07
    • 2017-09-25
    • 2020-03-21
    • 2012-03-25
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多