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 });
},
}} 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> <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>