質問編集履歴

1

全体的に修正

2021/08/06 08:59

投稿

darum
darum

スコア70

test CHANGED
@@ -1 +1 @@
1
- Laravel ユーザModelを独自に作った場合のGateの動作について
1
+ Laravel デフォルトのAuth Guard 以外でのGateの動作について
test CHANGED
@@ -1,9 +1,15 @@
1
- Laravelで、ユーザModel を User 以外(Operator)にした場合に、Gate での認可がうまく通りません。
1
+ Laravelで、
2
2
 
3
+ Auth Guard に、default で元から入っている User 以外のModelを使う定義を追加し、
3
4
 
5
+ その provider で指定したModel(Operator)を引数に取るGate を作成したところ、
4
6
 
5
- 具体的には、Gate 内部の処理で、Auth::guard() の引数が空で呼ばれているため、デフォルトのガードが呼ばれ、Operator のモデルが取得できていない模様です(デバッグで確認)。
7
+ Gate 内部の処理で、Auth::guard() の引数が空で呼ばれているため、デフォルトのガードが呼ばれ、Operator のモデルが取得できていない模様です(デバッグで確認)。
6
8
 
7
9
 
8
10
 
9
11
  User 以外のモデルで認可することはできるのでしょうか?
12
+
13
+
14
+
15
+ なお、blade の @can() ではうまく行っています。