Elixir/Phoenix框架认证/授权

Elixir/Phoenix框架认证/授权,elixir,phoenix-framework,phoenix,Elixir,Phoenix Framework,Phoenix,我正在为elixir/phoenix框架做一个项目。有一个关于授权的问题。例如,我有一条路线: get "/dashboard", DashboardController, :index 我只希望登录的用户能够通过此路径。当我介绍这个过程时:用户沿着这条路线走,它检查用户是否登录。如果是,则调用处理此路由的控制器函数;如果不是,则重定向到登录页面。请告诉我,如何在phoenix框架中正确实现这一点?可能有许多类似的路由,我希望有一个处理程序用于此。我正在使用它进行身份验证。我有以下管道: p

我正在为elixir/phoenix框架做一个项目。有一个关于授权的问题。例如,我有一条路线:

get "/dashboard", DashboardController, :index
我只希望登录的用户能够通过此路径。当我介绍这个过程时:用户沿着这条路线走,它检查用户是否登录。如果是,则调用处理此路由的控制器函数;如果不是,则重定向到登录页面。请告诉我,如何在phoenix框架中正确实现这一点?可能有许多类似的路由,我希望有一个处理程序用于此。

我正在使用它进行身份验证。我有以下管道:

 pipeline :protected do
    plug Pow.Plug.RequireAuthenticated,
      error_handler: Pow.Phoenix.PlugErrorHandler
  end
然后,我只需要通过正确的管道传递我的范围:

 scope "/dashboard", MyAppWeb do
    pipe_through [:browser, :protected]
    get "/", PageController, :dashboard
  end

所有需要身份验证的路径都会到达那里。如果您希望将其用于其他库/实现,则该方法应该类似。您可以看到中使用的身份验证示例,其中作用域的使用方式相同。

您使用的身份验证库是什么?基本上,您需要在管道中添加相应的插头。@AlekseiMatiushkin,我希望有一种路由预处理程序,只需检查会话中的值,或者让用户沿着路由进行,或者不让用户进行。基本上,你是在要求推荐——这在S O上被认为是离题的。也许你可以自己做一些研究,然后缩小你的问题范围。