philomena/lib/philomena_web/plugs/require_user_plug.ex
2023-11-23 17:07:49 +01:00

21 lines
404 B
Elixir

defmodule PhilomenaWeb.RequireUserPlug do
import Phoenix.Controller
import Plug.Conn
# No options
def init([]), do: false
# Redirect if not logged in
def call(conn, _opts) do
user = conn.assigns.current_user
if user do
conn
else
conn
|> put_flash(:alert, "You must be signed in to see this page.")
|> redirect(to: "/")
|> halt()
end
end
end