Elixir 会话未在长生不老药凤凰中保存
我在做一个签到控制器 我将会话设置为:Elixir 会话未在长生不老药凤凰中保存,elixir,phoenix-framework,Elixir,Phoenix Framework,我在做一个签到控制器 我将会话设置为: conn = put_session(conn, :user_id, user.id) IEx.pry redirect conn, to: account_path(conn, :show) 当我打印我得到的接头时,它看起来设置在撬线上 ... :plug_session => %{"user_id" => 6}, :plug_session_fetch => :done, ... 然后在我们重定向到的下一个控制器中,我们得到 ge
conn = put_session(conn, :user_id, user.id)
IEx.pry
redirect conn, to: account_path(conn, :show)
当我打印我得到的接头时,它看起来设置在撬线上
...
:plug_session => %{"user_id" => 6}, :plug_session_fetch => :done,
...
然后在我们重定向到的下一个控制器中,我们得到
get_session(conn, :user_id) => nil
来自signin控制器的302似乎将会话cookie设置为响应包括
set-cookie:_rebirth_key=g3QAAAABbQAAAAd1c2VyX2lkYQY=--KJ9iow5QUIqw1ggyPla--EGp-dY=; path=/; HttpOnly
如何使会话持续
谢谢 我不确定,但我认为
fetch\u session
可能不是从会话中获取值的正确函数。试一试
get_session(conn, :user_id)
相反。我不确定,但我认为
fetch\u session
可能不是从session获取值的正确函数。试一试
get_session(conn, :user_id)
相反。给那些可能遇到与我同样问题的人;确保您没有调用
configure\u session(drop:true)
,除非您确实想这样做
如果在尝试强制执行新会话(如用户刚刚登录)时,您调用
conn |>configure(drop:true)|>clear(clear)session |>put(:key,value)
,您的会话将为空。对于可能遇到与我相同问题的人;确保您没有调用configure\u session(drop:true)
,除非您确实想这样做
如果在尝试强制执行新会话(如用户刚刚登录)时,您调用
conn\124;>configure\u session(drop:true)\124;>clear\u session>put\u session(:key,value)
,您的会话将为空。详细说明put\u session
为键添加指定值,get\u session
将通过键返回该值。来源:<代码>获取会话从会话存储或cookie获取会话。我的坏,我使用了获取会话,输入错误。编辑。详细说明put\u session
为键添加指定值,get\u session
将通过键返回该值。来源:<代码>获取会话从会话存储或cookie获取会话。我的坏,我使用了获取会话,输入错误。编辑。