A module which will render front end components based on user permissions.
This module will govern the front end component rendering with the context built using the user permissions retrieved while the login process. The module builds a front end related permission mapping based on the scopes recieved from the backend. The access-control-context-provider.tsx
will define the required permission object which will be later used on evaluating components prior to render.
Add following dependency in your package.json file.
"@thiva/access-control": "<VERSION>"
pnpm build
In order to do this we need to import Show
and AccessControlConstants
components from the module.
import { AccessControlConstants, Show } from "@thiva/access-control";
<Show when={ AccessControlConstants.PERMISSION }> //Permission requred for successful render
<Component></Component>
</Show>
-
The new permission should be mapped in the
access-control-constants
file which will consist all the front end related permissions.public static readonly NEW_PERMISSION: string = "scope:delete"; // define a suitable permission string
-
Add new entries the permissions object in
access-control-context-provider
file.[ AccessControlConstants.NEW_PERMISSION ] : hasRequiredScopes(featureConfig.newFeature,featureConfig.newFeature.scopes.permission, allowedScopes)
Licenses this source under the Apache License, Version 2.0 (LICENSE), You may not use this file except in compliance with the License.