質問編集履歴
7
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -19,6 +19,12 @@
|
|
19
19
|
連続クリック等関係なく、偶数回クリックでログイン画面に飛ばされたりそうでなかったりします。
|
20
20
|
|
21
21
|
allowで許可しているAction以外にアクセスするとログインアクションに飛ばされます(リダイレクトURLはクリックしたリンクのActionになっている)。
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
ログイン状態で、allowで許可されているページから許可されていないページへ行くと必ずアクセスできます。
|
26
|
+
|
27
|
+
その他のページから許可されていないページでは以上のようにアクセスできません。
|
22
28
|
|
23
29
|
|
24
30
|
|
6
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -60,7 +60,7 @@
|
|
60
60
|
|
61
61
|
'loginAction' => [
|
62
62
|
|
63
|
-
'controller' => '
|
63
|
+
'controller' => 'CONTROLLER',
|
64
64
|
|
65
65
|
'action' => 'login'
|
66
66
|
|
@@ -68,7 +68,7 @@
|
|
68
68
|
|
69
69
|
'loginRedirect' => [
|
70
70
|
|
71
|
-
'controller' => '
|
71
|
+
'controller' => 'CONTROLLER',
|
72
72
|
|
73
73
|
'action' => 'index'
|
74
74
|
|
@@ -76,7 +76,7 @@
|
|
76
76
|
|
77
77
|
'logoutRedirect' => [
|
78
78
|
|
79
|
-
'controller' => '
|
79
|
+
'controller' => 'CONTROLLER',
|
80
80
|
|
81
81
|
'action' => 'login',
|
82
82
|
|
5
追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Cakephp3 Auth ページ移動でallow
|
1
|
+
Cakephp3 Auth ページ移動でallow以外のページでログイン画面に飛ばされる
|
test
CHANGED
@@ -12,15 +12,31 @@
|
|
12
12
|
|
13
13
|
ログインしている状態で、$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動(自分自身への移動を含む)で、連続クリックなど、読み込み前にクリックが複数回されるとログイン画面に飛ばされてしまう。
|
14
14
|
|
15
|
-
追記:連続クリックだけでなく、フォームのボタンクリックによる移動でもログイン画面に飛ばされてしまいます。
|
16
15
|
|
16
|
+
|
17
|
+
##### 追記
|
18
|
+
|
19
|
+
連続クリック等関係なく、偶数回クリックでログイン画面に飛ばされたりそうでなかったりします。
|
20
|
+
|
17
|
-
し
|
21
|
+
allowで許可しているAction以外にアクセスするとログインアクションに飛ばされます(リダイレクトURLはクリックしたリンクのActionになっている)。
|
22
|
+
|
23
|
+
|
18
24
|
|
19
25
|
|
20
26
|
|
21
27
|
###関係しそうなコード
|
22
28
|
|
23
29
|
```php
|
30
|
+
|
31
|
+
public function initialize()
|
32
|
+
|
33
|
+
{
|
34
|
+
|
35
|
+
...
|
36
|
+
|
37
|
+
...
|
38
|
+
|
39
|
+
// Authコンポーネント読み込み、リダイレクト設定
|
24
40
|
|
25
41
|
$this->loadComponent('Auth',[
|
26
42
|
|
@@ -44,7 +60,7 @@
|
|
44
60
|
|
45
61
|
'loginAction' => [
|
46
62
|
|
47
|
-
'controller' => '
|
63
|
+
'controller' => 'Mashicall',
|
48
64
|
|
49
65
|
'action' => 'login'
|
50
66
|
|
@@ -52,7 +68,7 @@
|
|
52
68
|
|
53
69
|
'loginRedirect' => [
|
54
70
|
|
55
|
-
'controller' => '
|
71
|
+
'controller' => 'Mashicall',
|
56
72
|
|
57
73
|
'action' => 'index'
|
58
74
|
|
@@ -60,19 +76,47 @@
|
|
60
76
|
|
61
77
|
'logoutRedirect' => [
|
62
78
|
|
63
|
-
'controller' => '
|
79
|
+
'controller' => 'Mashicall',
|
64
80
|
|
65
81
|
'action' => 'login',
|
66
82
|
|
67
|
-
]
|
83
|
+
],
|
68
84
|
|
69
85
|
]);
|
70
86
|
|
71
|
-
|
87
|
+
}
|
72
88
|
|
73
89
|
|
74
90
|
|
91
|
+
public function beforeFilter(Event $event)
|
92
|
+
|
93
|
+
{
|
94
|
+
|
95
|
+
// ログインユーザーのテーブル設定
|
96
|
+
|
97
|
+
$this->Auth->config('authenticate', [
|
98
|
+
|
99
|
+
'Form' => ['userModel' => 'Users'],
|
100
|
+
|
101
|
+
]);
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
//ログインしていなくてもアクセス可能なアクションの設定
|
106
|
+
|
107
|
+
$this->Auth->allow([
|
108
|
+
|
109
|
+
'index',
|
110
|
+
|
111
|
+
'login',
|
112
|
+
|
75
|
-
|
113
|
+
.....
|
114
|
+
|
115
|
+
]);
|
116
|
+
|
117
|
+
}
|
118
|
+
|
119
|
+
|
76
120
|
|
77
121
|
public function isAuthorized($customer = null){
|
78
122
|
|
@@ -84,6 +128,38 @@
|
|
84
128
|
|
85
129
|
|
86
130
|
|
131
|
+
public function login()
|
132
|
+
|
133
|
+
{
|
134
|
+
|
135
|
+
if($this->request->is('post')){
|
136
|
+
|
137
|
+
$user = $this->Auth->identify();
|
138
|
+
|
139
|
+
if($user){
|
140
|
+
|
141
|
+
$this->Auth->setUser($user);
|
142
|
+
|
143
|
+
return $this->redirect($this->Auth->redirectUrl());
|
144
|
+
|
145
|
+
}
|
146
|
+
|
147
|
+
$this->Flash->error('ユーザー名かパスワードが間違ってます.');
|
148
|
+
|
149
|
+
}
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
$this->set('title', 'CONTROLLER/login');
|
154
|
+
|
155
|
+
$this->set('subtitle', '');
|
156
|
+
|
157
|
+
}
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
|
162
|
+
|
87
163
|
```
|
88
164
|
|
89
165
|
よろしくお願いいたします。
|
4
追記
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Cakephp3 Auth
|
1
|
+
Cakephp3 Auth ページ移動でallowが効かない
|
test
CHANGED
@@ -11,6 +11,8 @@
|
|
11
11
|
###発生している問題・エラーメッセージ
|
12
12
|
|
13
13
|
ログインしている状態で、$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動(自分自身への移動を含む)で、連続クリックなど、読み込み前にクリックが複数回されるとログイン画面に飛ばされてしまう。
|
14
|
+
|
15
|
+
追記:連続クリックだけでなく、フォームのボタンクリックによる移動でもログイン画面に飛ばされてしまいます。
|
14
16
|
|
15
17
|
しかし、Sessionにはログイン情報が残っているらしく、ログイン画面から$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動で普通に入れる。
|
16
18
|
|
3
pjaxやめた
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,8 +6,6 @@
|
|
6
6
|
|
7
7
|
- PHP 7.0.16
|
8
8
|
|
9
|
-
- pjax
|
10
|
-
|
11
9
|
|
12
10
|
|
13
11
|
###発生している問題・エラーメッセージ
|
@@ -15,10 +13,6 @@
|
|
15
13
|
ログインしている状態で、$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動(自分自身への移動を含む)で、連続クリックなど、読み込み前にクリックが複数回されるとログイン画面に飛ばされてしまう。
|
16
14
|
|
17
15
|
しかし、Sessionにはログイン情報が残っているらしく、ログイン画面から$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動で普通に入れる。
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
pjaxの遷移が複数ページ移動時に偶数回目の遷移で効かなくなる(1回目の読み込みではpjaxが効き、その後通常の遷移に戻ってしまう。通常の遷移後はまた同様)
|
22
16
|
|
23
17
|
|
24
18
|
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,6 +6,8 @@
|
|
6
6
|
|
7
7
|
- PHP 7.0.16
|
8
8
|
|
9
|
+
- pjax
|
10
|
+
|
9
11
|
|
10
12
|
|
11
13
|
###発生している問題・エラーメッセージ
|
@@ -13,6 +15,10 @@
|
|
13
15
|
ログインしている状態で、$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動(自分自身への移動を含む)で、連続クリックなど、読み込み前にクリックが複数回されるとログイン画面に飛ばされてしまう。
|
14
16
|
|
15
17
|
しかし、Sessionにはログイン情報が残っているらしく、ログイン画面から$this->Auth->allowで設定していないアクションへのリンククリックによるページ移動で普通に入れる。
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
pjaxの遷移が複数ページ移動時に偶数回目の遷移で効かなくなる(1回目の読み込みではpjaxが効き、その後通常の遷移に戻ってしまう。通常の遷移後はまた同様)
|
16
22
|
|
17
23
|
|
18
24
|
|
1
タグ追加
test
CHANGED
File without changes
|
test
CHANGED
File without changes
|