質問編集履歴

1

変更

2017/06/16 23:16

投稿

dialbird
dialbird

スコア379

test CHANGED
File without changes
test CHANGED
@@ -16,28 +16,68 @@
16
16
 
17
17
 
18
18
 
19
- いろいろ調べてみて、どうやredisなどといった期限のあるインメモリDBでゲストユーザーを管理するいいというのは分かりました。
19
+ いろいろ調べてみて、おそゲストユーザー・ログインユーザーに関係なく、セッションにカートのID期限付きで保持しておくこで、実現できそうだなは思始めてきました。
20
20
 
21
21
 
22
22
 
23
- ですが具体的にこのredis使てどのよに実現するのかがいちピンきません。
23
+ しかし問題はprotect_from_forgery用のセッションとは別にトークンたほうがいいかよくわかっていないいうことです
24
24
 
25
25
 
26
26
 
27
- 例えば
27
+ 私は今railsのセッションをredisで管理しています
28
28
 
29
29
 
30
30
 
31
- - ゲストユーザーがそのサイトにアクセスしてきたとき、どのタイミングでredisにどのようなkey,valueを与えたらいいのか
31
+ ```ruby
32
32
 
33
- - redisに入れたデータを使って、どのように特定のゲストユーザーにカート情報を紐づけるか。
33
+ # config/environments/development.rb
34
-
35
- - ゲストユーザーがログインする段になったらどのようにゲストユーザーからログインユーザーに切り替えるのか。
36
34
 
37
35
 
38
36
 
37
+ config.session_store :redis_store, {
38
+
39
+ key: 'session_id',
40
+
39
- ということです。
41
+ servers: {
42
+
43
+ host: 'localhost',
44
+
45
+ port: 6379,
46
+
47
+ db: 0,
48
+
49
+ namespace: 'sessions'
50
+
51
+ },
52
+
53
+ expire_after: 10.minutes
54
+
55
+ }
56
+
57
+ ```
40
58
 
41
59
 
42
60
 
61
+ これをしないとprotect_from_forgeryに引っかかってしまうので…
62
+
63
+
64
+
43
- 非常に曖昧模糊とた質問で申訳ないのですが、とにかくゲスザーを管理するロジックが知りたのです。よろしくお願いいたします
65
+ てこの設定をのででに接続したはこのトークcookiesに入ってす。
66
+
67
+
68
+
69
+ 質問というのは
70
+
71
+
72
+
73
+ ・このトークンはあくまでもデフォルトのものだからほかの用途につかうべきではないのか?
74
+
75
+ ・もし使えるのならば、このトークンをどのように活用していけばいいのか(protect_from_forgeryがほとんど勝手にやってくれてる仕様なので、活用の仕方がよくわからない)
76
+
77
+
78
+
79
+ ということです
80
+
81
+
82
+
83
+ よろしくお願いいたします