Authorization
in package
コンフィグセット機能(エクスポート・インポート)の認可判定を集約する。
config_set 専用のロール権限は存在しないため、コンフィグ編集権限(config_edit、
DB上は role_config_edit 列)を流用する。各ハンドラ(ACMS_POST_Config_Set_Export /
Import)から共通利用する。
判定対象のユーザーは引数で受け取り、テスト時に任意のユーザーを差し込めるようにする。 ロール運用時はロールガードを直接利用し(Auth ファサードはガード選択がセッション ユーザー(SUID)基準になるため)、引数で受け取ったユーザーを基準に評価する (Authorization と同じ設計方針)。ロール未使用時は sessionWithAdministration の第3引数 userId に引数のユーザーを渡して評価する (cache は無効化し、判定対象ユーザーが呼び出しごとに変わることを反映する)。 sessionWithAdministration 自身が isPermissionOfAdministrator + timemachineMode の 判定をまとめて持つため、ここで同じ判定ロジックを再実装せずに済み、将来 sessionWith* 側にガードが追加された場合も自動的に追従できる。
Table of Contents
Methods
- canManage() : bool
- コンフィグセットのエクスポート・インポートが許可されているか
- roleGuard() : Guard
- ロールベースの権限判定ガードを取得する。
Methods
canManage()
コンフィグセットのエクスポート・インポートが許可されているか
public
canManage(int $userId, int $blogId) : bool
Parameters
- $userId : int
-
判定対象のユーザーID(通常はログイン中のユーザー SUID)
- $blogId : int
-
対象ブログID
Return values
boolroleGuard()
ロールベースの権限判定ガードを取得する。
private
roleGuard() : Guard