Admin-Autorisierung mit CanCan

8

A haben eine Reihe von Controllern mit dem Admin-Namespace. Ich möchte den Zugriff auf diese beschränken, es sei denn, der Benutzer ist ein Administrator. Gibt es eine Möglichkeit, dies mit CanCan zu tun, ohne unberechtigt anrufen zu müssen? in jeder Methode von jedem Controller?

    
Kyle Decot 19.01.2011, 16:24
quelle

3 Antworten

8

Fügen Sie einen Anwendungscontroller zu Ihrem Namespace und einen Vorfilter hinzu.

%Vor%     
mark 19.01.2011, 16:32
quelle
1

Die Wiki-Seite Admin-Namespaces für CanCan listet mehrere Lösungen für dieses Problem auf.

  • Wie @mark vorgeschlagen, haben Sie einen Basis-Controller für Administratoren, der die Autorisierung für jede Aktion überprüft.
    • Möglicherweise müssen Sie CanCan überhaupt nicht verwenden, wenn Sie nur überprüfen müssen, ob die Benutzer eine admin haben. Flagge.
  • Für den Umgang mit Admins unterschiedlich (im Gegensatz zu anderen als regulären Benutzern), Betrachten Sie eine separate AdminAbility -Klasse (dies ist ein wenig off-topic, könnte aber relevant sein).
Caleb Thompson 31.07.2012 15:39
quelle
0

now rails_admin hat volle Unterstützung von Cancan, Sie können es auf seiner offiziellen Website finden, es gibt eine Wiki-Seite für dieses Thema:

Berechtigung von Rails Admin mit CanCan :

    
Siwei Shen申思维 14.03.2012 03:39
quelle