[RUBY] Rails-Konto-BAN implementieren

Implementieren Sie die erzwungene Abmeldung

Selbst auf Twitter und Instagram ist mein Konto gesperrt und ich kann mich nicht anmelden ... Ich hoffe ich habe diese Erfahrung nicht, Dieses Mal möchte ich eine solche Funktion implementieren.

Bereiten Sie zunächst ein Benutzermodell mit dem Attribut suspendiert (boolean) als Benutzer vor. Benutzer mit diesem Stopp-Flag true können sich nicht anmelden und Wir erstellen eine Funktion, die den Zugriff auf andere Seiten verweigert und Sie zum Abmelden zwingt.

Implementieren Sie zunächst eine Methode, um festzustellen, ob das Benutzermodell über ein Stoppflag verfügt. Es scheint, dass Sie sich nicht die Mühe machen müssen, es als Methode vorzubereiten, sondern die Erweiterbarkeit in Betracht ziehen und eine Methode als Modell erstellen müssen.

app/models/user.rb


class User < ApplicationRecord


#Kürzung

#Sind Sie ein aktiver Benutzer?
private
  def active?
    !suspended?
  end
end

Ändern Sie nun die Basis-Controller-Klasse. Wenn der Benutzer angemeldet ist und das Stopp-Flag gesetzt ist Ich habe die Sitzung gelöscht und zwangsweise auf die oberste Seite umgeleitet.

app/controllers/user/base.rb


class User::Base < ApplicationController
  before_action :check_account
  
  private
    def current_user
      if session[:user_id]
        @current_user ||= User.find_by(id: session[:user_id])
      end
    end

  private
    def check_account
      #Wenn der Benutzer angemeldet ist und das Stopp-Flag gesetzt ist
      if current_user && !current_user.active?
        #Sitzung löschen
        session.delete(:user_id)
        flash.alert = "Konto ist ungültig geworden"
        #Zur obersten Seite umleiten
        redirect_to :user_root
      end
    end
end

Durch Aufrufen der Methode check_account mit before_action für alle Aktionen Sie können eine Abmeldung für einen Benutzer mit einem Stopp-Flag erzwingen.

Das ist alles für heute. Vielen Dank für das Lesen bis zum Ende.

Recommended Posts

Rails-Konto-BAN implementieren
Implementieren Sie die Rails-Paginierung
[Schienen] Implementieren Sie die Rechenaufgabe
Markdown in Rails implementiert
Implementieren Sie die Anwendungsfunktion in Rails
[Schienen] Implementieren Sie die Benutzersuchfunktion
Implementieren Sie die LTI-Authentifizierung in Rails
[Rails] So implementieren Sie Scraping
[Rails] Implementieren Sie die Image-Posting-Funktion
Implementieren Sie eine einfache Anmeldefunktion in Rails
Implementieren Sie ein Kontaktformular in Rails
[Rails] So implementieren Sie die Sternebewertung
Implementieren Sie die CSV-Download-Funktion in Rails
So implementieren Sie Suchfunktionen in Rails
So implementieren Sie Ranking-Funktionen in Rails
[Schienen] Sternebewertung implementieren (Eingabe, Speichern, Anzeigen)
So implementieren Sie die Image-Veröffentlichung mithilfe von Schienen
Implementieren Sie Schaltflächenübergänge mit link_to in Rails
11.2 E-Mail zur Kontoaktivierung senden: Rails Tutorial Notes - Kapitel 11