0

我对Elixirand非常陌生Phoenix,我正在尝试使用{:comeonin, "~> 4.0"}and对我的应用程序进行身份验证,{:guardian, "~> 1.0"}并且有一个帮助函数来检查用户是否已登录:

defmodule Chatter.ViewHelper do
  def current_user(conn), do: Guardian.Plug.current_resource(conn)
  def logged_in?(conn) do
    Guardian.Plug.authenticated?(conn)
  end
end

但我得到这个错误:

** (UndefinedFunctionError) function Guardian.Plug.authenticated?/1 is undefined or private.
4

2 回答 2

2

Guardian 文档在升级到v1.0. 您需要从自定义MyApp.Guardian实现中调用这些函数,而不是从实际Guardian模块中调用。

假设您按照指南实施MyApp.Guardian,您需要调用:

MyApp.Guardian.Plug.authenticated?(conn)
于 2018-11-09T11:25:46.907 回答
1

该错误表明您正在尝试调用不带参数的函数:

(UndefinedFunctionError) function Guardian.Plug.authenticated?/0

/0这里的意思是没有参数。

于 2018-11-09T11:17:32.180 回答