Entwickle ein getrenntes Abmelden für zwei verschiedene Modelle

8

Ich habe zwei Modelle User und Admin (mit RailsAdmin), die Devise benutzen. Ich melde mich als Benutzer an und melde mich dann als Administrator an. Aber das Ergebnis der Abmeldung von einem dieser Modelle ist das gleichzeitige Abmelden von zwei Modellen. Wie kann ich es reparieren? Bitte, helfen Sie:)

    
Sergey Alekseev 21.03.2012, 19:40
quelle

2 Antworten

23

Das Problem war in einer Zeichenfolge in config / initializers / devise.rb:

  • Standard:

    # Konfigurieren Sie das Verhalten von sign_out.
      Die # Sign_out-Aktion kann auf einen Bereich beschränkt werden (d. H. / Users / sign_out betrifft nur: Benutzerbereich).
      # Der Standardwert ist wahr, was bedeutet, dass jede Abmeldeaktion alle aktiven Bereiche abmeldet.
      # config.sign_out_all_scopes = true

  • Benötigen Sie:

    config.sign_out_all_scopes = falsch

Sergey Alekseev 24.03.2012, 07:03
quelle
0

Der Bereich von Devise ist die gesamte Anwendung - Sie melden sich auf der Site an, kein Modell. Vielleicht möchten Sie die Unterscheidung von Rollen hinzufügen - ein Benutzer kann eine oder mehrere Rollen haben, die ihm bestimmte Privilegien erlauben. Devise erhält nur einen authentifizierten Benutzer. Betrachten Sie ein Juwel wie CanCan , das Unterstützung für "rollenbasierte Autorisierung" bietet.

    
Tom Harrison Jr 21.03.2012 21:38
quelle