useHasPermission
useHasPermission(
permissionKinds: PermissionKind | PermissionKind[],
options?: UserPermissionOptions,
deps?): boolean | null | undefined;
Returns true if user has permission on scope. If not returns false. Use
UserPermissionOptions.userId for another user and UserPermissionOptions.scope
for permission scope. Default is current user permission on current web scope.
Examples
Check current users web permissions,
import { PermissionKind } from "@pnp/sp/security";
import { useHasPermission } from "pnp-react-hooks";
const permissions = PermissionKind.ViewListItems | PermissionKind.ViewPages
const hasPermission = useHasPermission(permissions);
Check another users permission on web,
import { PermissionKind } from "@pnp/sp/security";
import { useHasPermission } from "pnp-react-hooks";
const permissions = PermissionKind.ViewListItems | PermissionKind.ViewPages
const userHasPermission = useHasPermission(permissions, {
userId: "user@example.onmicrosoft.com"
});
Check list permissions,
import { PermissionKind } from "@pnp/sp/security";
import { useHasPermission } from "pnp-react-hooks";
const permissions = PermissionKind.ViewListItems | PermissionKind.ViewPages
const hasPermission = useHasPermission(permissions, {
scope: {
list: "My List Title"
}
});
Check item permissions,
import { PermissionKind } from "@pnp/sp/security";
import { useHasPermission } from "pnp-react-hooks";
const permissions = PermissionKind.ViewListItems | PermissionKind.ViewPages
const hasPermission = useHasPermission(permissions, {
scope: {
list: "My List Title",
item: 12
}
});
Parameters
| Name | Type | Description | Tracked for changes |
|---|---|---|---|
permissionKinds | PermissionKind | PermissionKind[] | SP permission kind array or value | Yes |
options? | UserPermissionOptions | useHasPermission hook options | Partially |
deps? | DependencyList | Hook dependency list. | Yes |