then-purpleT
Refine3y ago
12 replies
then-purple

access control condition not working

 accessControlProvider={{
              can: async ({ resource, action }) => {
                let can = false;
                const role = getUserRole();

                if (role !== undefined && resource) {
                  switch (role) {
                    case Role.user:
                      can = resource.startsWith('user/');
                      break;
                    case Role.admin:
                      can = resource.startsWith('admin/');
                      break;
                    default:
                      console.log("Unknown Role");
                      break;
                  }
                }

                return Promise.resolve({ can });
              },
            }}

This route is still being called the first time I logged in as an user. It should not be called.
 <Route path="users">
                        <Route index element={<UserList />} />
                        <Route path="create" element={<UserCreate />} />
                        <Route path="edit/:id" element={<UserEdit />} />
                        <Route path="show/:id" element={<UserShow />} />
                    </Route>
Was this page helpful?