回答編集履歴
2
誤字修正
test
CHANGED
@@ -26,7 +26,7 @@
|
|
26
26
|
|
27
27
|
2. AuthComponent の設定に従い、対象となる DB のテーブルを決定する(UserModel, Fieldsを使う)
|
28
28
|
|
29
|
-
3. UserModel の
|
29
|
+
3. UserModel の パスワードフィールドに対する setter を使い、平文のパスワードから変換を行う
|
30
30
|
|
31
31
|
4. ユーザーID、(変換後の)パスワードで、対象の UserModel で合致するレコードを探す
|
32
32
|
|
1
解決策を追記
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
```
|
16
16
|
|
17
|
-
_setPass
|
17
|
+
_setAdminPass 時に DefaultPasswordHasher:hash を呼び出していますから、DB に記載されているパスワードが「真のパスワードから計算したハッシュ値であること」を前提としています。
|
18
18
|
|
19
19
|
実際のデータがそうなっていないので、そりゃ計算したハッシュ値が合致しないから認証エラーになりますね。
|
20
20
|
|
@@ -35,3 +35,17 @@
|
|
35
35
|
|
36
36
|
|
37
37
|
という流れです
|
38
|
+
|
39
|
+
|
40
|
+
|
41
|
+
さて、ではどうすればいいかというと、二つ解決策があります。
|
42
|
+
|
43
|
+
|
44
|
+
|
45
|
+
1. データベースに記録しているパスワードを、正しくハッシュ値にする
|
46
|
+
|
47
|
+
2. _setAdminPass の結果を平文のまま(return $value) として、素通しする
|
48
|
+
|
49
|
+
|
50
|
+
|
51
|
+
まあ、2. はあくまで一時的な話に留めないとダメですが。
|