🚀 新規事業

permission-pattern

最終更新 2026年05月09日 / 40_新規事業/SCALE_Build/カタログ/機能集/permission-pattern.md

権限管理パターン

用途

ユーザー毎の機能アクセス権を管理するパターン。許可リスト方式。

特徴

  • 許可リスト
  • 型安全
  • デバッグ容易

実コード(SCALE Base より自動抽出)

lib/always-allowed-systems.ts の中身そのもの。コピペ即可。

// 全ユーザーに常時開放するシステム(権限管理に関係なく閲覧可能)。
// layout.tsx のアクセス制御と SystemSidebar.tsx のサイドバー表示の両方で参照する。
// ここに追加するだけで、auth-context の allowedSystems を触らずに全員公開できる。

export const ALWAYS_ALLOWED_SYSTEMS = new Set<string>([
  'changelog',
]);

export function isSystemAccessible(systemId: string, userAllowedSystems: string[]): boolean {
  return ALWAYS_ALLOWED_SYSTEMS.has(systemId) || userAllowedSystems.includes(systemId);
}

ソースファイルのパス

/Users/oogushiyuuki/Library/CloudStorage/GoogleDrive-y-ogushi@scale-group.co.jp/マイドライブ/AI/scale-base/lib/always-allowed-systems.ts

使い方

対象プロジェクトに該当ファイルをコピーして、props を流し込むだけ。

注意事項

  • 依存パッケージを忘れず追加