Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Elixir Guardian.Plug.current_资源为零_Elixir_Phoenix Framework - Fatal编程技术网

Elixir Guardian.Plug.current_资源为零

Elixir Guardian.Plug.current_资源为零,elixir,phoenix-framework,Elixir,Phoenix Framework,我正在使用Guardian和Ueberauth进行身份验证,但发生了一些奇怪的事情Guardian.Plug.authenticated?(conn)返回true但Guardian.Plut.current\u资源(conn)返回false。我还使用了Guardian.Phoenix.Controller和当前用户为nil,但是Guardian.Plug.EnsureAuthenticated允许我访问。发生这种情况是因为我在Guardian配置中缺少hooks:GuardianDb 您可以发布

我正在使用Guardian和Ueberauth进行身份验证,但发生了一些奇怪的事情
Guardian.Plug.authenticated?(conn)
返回
true
Guardian.Plut.current\u资源(conn)
返回
false
。我还使用了
Guardian.Phoenix.Controller
当前用户
nil
,但是
Guardian.Plug.EnsureAuthenticated
允许我访问。

发生这种情况是因为我在Guardian配置中缺少
hooks:GuardianDb

您可以发布SessionController(或任何控制器调用的
Guardian.Plug.sign_in
)的源代码吗?当然可以。这不是我的项目,但我当前的auth_控制器完全相同。在快速浏览了Guardian的源代码之后,我认为
当前资源
可以返回
false
的唯一方法是将
false
作为“对象”(第二个参数)传递给
登录
。您能检查传递给
登录的值吗?
?我刚刚确认,这种行为只有在我重置数据库后才会发生。当我登录或注销时,一切都正常。我仍然不明白为什么当前用户
mix-exto.reset
之后为
nil
时浏览器可以访问受限路径。我也有同样的问题。我希望您能解释一下为什么需要
hooks:GuardianDb
以及如何配置它。