fix: 前端權限檢查邏輯讓 super-admin 自動通過
This commit is contained in:
@@ -11,25 +11,31 @@ export function usePermission() {
|
||||
|
||||
/**
|
||||
* 檢查使用者是否擁有指定權限
|
||||
* 超級管理員自動擁有所有權限
|
||||
*/
|
||||
const can = (permission: string): boolean => {
|
||||
if (!user) return false;
|
||||
if (user.roles.includes('super-admin')) return true;
|
||||
return user.permissions.includes(permission);
|
||||
};
|
||||
|
||||
/**
|
||||
* 檢查使用者是否擁有任一指定權限
|
||||
* 超級管理員自動擁有所有權限
|
||||
*/
|
||||
const canAny = (permissions: string[]): boolean => {
|
||||
if (!user) return false;
|
||||
if (user.roles.includes('super-admin')) return true;
|
||||
return permissions.some(p => user.permissions.includes(p));
|
||||
};
|
||||
|
||||
/**
|
||||
* 檢查使用者是否擁有所有指定權限
|
||||
* 超級管理員自動擁有所有權限
|
||||
*/
|
||||
const canAll = (permissions: string[]): boolean => {
|
||||
if (!user) return false;
|
||||
if (user.roles.includes('super-admin')) return true;
|
||||
return permissions.every(p => user.permissions.includes(p));
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user