Zunächst einmal, ich würde das nicht selbst tun, wenn Edelsteine wie Devise, dass in der Angelegenheit von Minuten für mich tun können.
Obwohl, wenn Sie das wirklich selbst wollen tun, ich eine user_logged_in!
Methode in Ihrer ApplicationController
tun würde, die vor jeder Aktion aufgerufen werden würde (Sie können wählen, welche Aktion mit before_action
geprüft werden soll):
class ApplicationController < BaseController
before_action :user_logged_in!
protected
def user_logged_in!
# Logic that checks if the user is actually logged in (check in session, etc).
# If not logged in, redirect the user to the root page with a flash message.
end
end
Für die Aktionen/Controller, auf denen der Benutzer nicht authentifiziert werden muss, können Sie skip_before_action
verwenden:
class DomainsController < BaseController
skip_before_action :user_logged_in!, only: [:index, :show]
end
Warum ist es nach unten gestimmt? – Felix