錠と鍵の扱いを決めるのはユースケース(Controller)
ページ利用者はそれらを持っているだけ。ユースケースがそれらを合わせるだけ。

ユースケース錠と鍵の両方をかける」のか
錠と鍵は対応している(一対一)ので錠さえ分かればいい
→「ユースケースに錠をかける」「このユースケースでこのページ(とその下位のページ)を操作することに錠をかける」で正しい。

複数必要ならコード内で複数扱う。でもロールではなく権限しか伝わってこないのでロール単位での判定はできない。→ :i/ロールと権限と利用者の関連経路#ia6c4c6e
複数必要ならコードでグループ化。仕組みは用意せずデータも用意せず、グループと同名の手続きを呼ぶと複数の錠が分かるようなコードで。