質問編集履歴

7

追記

2017/11/06 09:51

投稿

massy7
massy7

スコア45

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

修正

2017/11/06 09:51

投稿

massy7
massy7

スコア45

test CHANGED
File without changes
test CHANGED
@@ -60,7 +60,7 @@
60
60
 
61
61
  'loginAction' => [
62
62
 
63
- 'controller' => 'Mashicall',
63
+ 'controller' => 'CONTROLLER',
64
64
 
65
65
  'action' => 'login'
66
66
 
@@ -68,7 +68,7 @@
68
68
 
69
69
  'loginRedirect' => [
70
70
 
71
- 'controller' => 'Mashicall',
71
+ 'controller' => 'CONTROLLER',
72
72
 
73
73
  'action' => 'index'
74
74
 
@@ -76,7 +76,7 @@
76
76
 
77
77
  'logoutRedirect' => [
78
78
 
79
- 'controller' => 'Mashicall',
79
+ 'controller' => 'CONTROLLER',
80
80
 
81
81
  'action' => 'login',
82
82
 

5

追記

2017/11/06 07:57

投稿

massy7
massy7

スコア45

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
- かし、Sessionにはログイン情報が残っていらしく、ログイン画面から$this->Auth->allowで設定していないアクションへのククリックにページ移動で普通に入れる
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' => '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' => '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' => '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
- ```php
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

追記

2017/11/06 07:55

投稿

massy7
massy7

スコア45

test CHANGED
@@ -1 +1 @@
1
- Cakephp3 Auth 素早いページ移動でallowが効かない
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やめた

2017/10/26 02:48

投稿

massy7
massy7

スコア45

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

追記

2017/10/25 08:40

投稿

massy7
massy7

スコア45

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

タグ追加

2017/10/25 07:56

投稿

massy7
massy7

スコア45

test CHANGED
File without changes
test CHANGED
File without changes