Zabezpieczanie list
Uwaga
12 października 2022 r. funkcja Portale usługi Power Apps została przekształcona w usługę Power Pages. Więcej informacji: Usługa Microsoft Power Pages jest teraz ogólnie dostępna (blog)
Wkrótce zmigrujemy i scalimy dokumentację funkcji Portale usługi Power Apps z dokumentacją usługi Power Pages.
Aby zabezpieczyć listę, musisz skonfigurować uprawnienia tabeli dla tabeli, dla której wyświetlane są rekordy.
Począwszy od wersji 9.3.7.x nowo utworzone portale będą miały wymuszone uprawnienia do tabel dla wszystkich list niezależnie od ustawienia Włącz uprawnienia do tabeli.
Uwaga
Opisane powyżej zmiany dotyczą również portali przekonwertowanych z wersji próbnej na produkcyjną.
Aby jawnie skonfigurować anonimowy dostęp, użyj odpowiednich uprawnień tabeli i odnieś się do roli sieciowej Anonimowi użytkownicy lub niestandardowej roli sieciowej z opcją Użytkownicy anonimowi Rola.
Zabezpieczenie listy sprawi, że użytkownicy będą widzieć tylko te rekordy, do których mają uprawnienia.
Zabezpieczenie danych związanych z konkretnymi użytkownikami (lub powiązanymi z nimi kontami) osiąga się przez dodanie relacji między tabelą a tabelą kontakt lub konto, dzięki czemu tylko użytkownicy portalu, którzy mają relację z tymi rekordami, będą mogli uzyskać dostęp do danych, używając uprawnień tabeli typu Konto lub Kontakt oraz ustawiając odpowiednie uprawnienia i kojarząc role sieciowe z uprawnieniami tabeli.
Dobry projekt strony internetowej wymaga, by użytkownik, który nie ma uprawnień do tabeli (czyli nigdy nie będzie sytuacji, w której zobaczy jakiekolwiek rekordy), nie miał w ogóle dostępu do strony. Najlepiej byłoby, gdyby strona była również chroniona za pomocą Uprawnienia strony.
Jeśli chcesz wyświetlać akcje na poziomie rekordów, które dotyczą zalogowanego użytkownika, musisz ustawić wartość ustawienia strony EntityList/ShowRecordLevelActions na true.
Na przykład jest dwóch użytkowników: Preston i Teddy. Preston ma pełny dostęp do poziomu kontaktu w tabeli case, natomiast Teddy ma globalny dostęp do odczytu. Jeśli lista zostanie utworzona, aby pokazać wszystkie rekordy case, Preston będzie widział wszystkie akcje (Wyświetl, Edytuj i Usuń) na rekordach, które są związane z jego kontaktem. Na innych rekordach zobaczyliby tylko akcję Widok. Z kolei Teddy będzie widział tylko akcję Wyświetl dla wszystkich rekordów.
Jeśli ustawienie witryny EntityList/ShowRecordLevelActions ma wartość false, a tabela ma wiele uprawnień, wszystkie akcje na poziomie rekordu są widoczne. Jednak gdy użytkownik próbuje wykonać działanie bez autoryzacji, wyświetlany jest błąd.