Skip to content

ルート権限

ガイド

固定ルート(権限不要でアクセス可能なルート)

静的ルートモードでは、ルートの権限は meta.constant で制御されます。constanttrue のルートはログインなしでアクセスできます。
一方、動的ルートモードでは、ログインなしでアクセス可能なルートは fetchGetConstantRoutes API で返す必要があります。つまり、fetchGetUserRoutesconstant を true に設定しても無効であり、ログインが必要になります。

権限ルート

静的ルートモードでは、デフォルトで全てのルートにログインが必要です。特定の権限を設定する場合は、meta.roles フィールドを追加できます。このフィールドの型は string[] で、UserInfo に設定されます。指定されたロールと一致する場合のみアクセスが許可され、それ以外は許可されません。マッチングは前置ルートガードの段階で行われます。
動的ルートモードでは、引き続き meta.roles を使用できますが、通常はバックエンドがロールに基づいてルートテーブルを制御し、権限のないルートを返さない方法が一般的です。

動的ルート

ルートの取得元を変更できます。静的ルートのルートテーブルは ./src/router/elegant/routes.ts にあります。動的ルートのルートテーブルは fetchGetConstantRoutes および fetchGetUserRoutes API から取得されます。

注意

接口返回的路由表的类型必须与前端静态的路由表类型一致,在尝试修改前建议先熟悉本项目的特色路由插件与路由表结构

有効化/無効化

env ファイル内の VITE_AUTH_ROUTE_MODE 変数を設定することで、動的ルートモードを有効化/無効化できます。

コードの場所

.env

dotenv
# 認証ルートモード: static | dynamic
VITE_AUTH_ROUTE_MODE=dynamic

MITライセンスの下で公開