
SharePoint csoporttagság ellenőrzése Power Apps-ben flow nélkül
Sajnos jelenleg nincs a PowerApps-ben olyan beépített funkció, amivel ellenőrizni lehetne az aktuális felhasználó SharePoint csoporttagságait, vagy akár azt, hogy egy adott csoportnak tagja-e. Többféle megoldás van arra, hogy ezt a funkciót bevezesd az alkalmazásaidba.
Az egyik elterjedt módszer, hogy csinálsz egy SharePoint listát, ahol eltárolod a felhasználókat és valamilyen metaadat segítségével azt, hogy milyen szerepköre(i) van(nak). Ezt követően pedig a PowerApps-ben lekéred a listát, és az alapján rejtesz el/jelenítesz meg funkciókat.
A probléma ezzel az, hogy ettől kezdve nem csak a SharePoint csoportokat kell karbantartani, hanem a listát is, ügyelve arra, hogy a kettő mindig szinkronban legyen.
A másik megoldás, ha Power Automate flow segítségével küldesz egy kérést a SharePoint szervernek és így kéred le a csoporttagságot.
Kis furfanggal ez megoldható viszont flow nélkül is.
Előkészítés
- Hozz létre egy listát a SharePointon, majd törd meg a jogosultságok öröklését. Ezután adj olvasási jogot minden felhasználónak, illetve teljes hozzáférést az admin csoportnak.
- Hozz létre egy listaelemet a listán.
- Állítsd le a jogosultságok öröklését a listaelemen is, majd adj olvasási jogokat annak a csoportnak, aminek a tagságát ellenőrizni szeretnéd. Ezen kívül adj teljes hozzáférést az admin csoportnak. A többi csoport hozzáférését vedd el.
- Végül add hozzá a listát a PowerApps vászonalkalmazás adatforrásaihoz.
Eredmény
Ha a fenti lépéseket végrehajtod, a listát látni fogja minden felhasználó, de aki nem a kijelölt csoport tagja, az üresnek fogja látni, a kijelölt csoport pedig látni fogja a lista egyetlen elemét.
Felhasználás PowerApps vászonalkalmazásban
Erre építve az App/OnStart tulajdonságánál megadhatod a
függvényt, így később erre hivatkozva például egy összetevő láthatóságát szabályozhatod az isAdmin változó segítségével.
A PowerApps delegációs figyelmeztetést fog megjeleníteni a CountRows függvénynél, mivel nagy elemszám esetén nem garantált, hogy helyes értékek jelennek meg. Ezzel viszont nem kell foglalkoznunk, mert a listában mindig csak egyetlen listaelem lesz.
Forrás: Check if User is Member of SharePoint Group in Power Apps – YouTube.