Spree Custom Rollenberechtigungen
Frage
Ich versuche, einige benutzerdefinierte Rollen in Spree-spezifischen Berechtigungen zu geben. Kann diese Antwort überall nicht finden
rolle_ability.rb generasacodicetagpre.
Ich dachte, das könnte eine populäre Idee sein, einen Benutzer mit Rollenmanager nur Produkte und andere bestimmte Modelle verwalten zu lassen ...
wenn ich wechsle generasacodicetagpre.
bis generasacodicetagpre.
es funktioniert wie erwartet ... Ich kann auf den gesamten Admin-Bereich zugreifen
Ich möchte nur, dass der "Händler": Produkte verwalten Tho !!;)
"admin" ist nur eine Rolle, die einem Benutzer verknüpft ist, dh alle Rollen sind Benutzer.
Sie können wahrscheinlich sehen, wo dies läuft, Einzelhändler können sich anmelden und verkaufen. Nun, das ist das Ziel.
Alle Zeiger ??
Lösung
Es gibt eine native Art in Spree_Auth_Devise, um dies zu tun.Es war nicht dokumentiert, aber jetzt ist es.
https://github.com/spree/spree_auth_devise Abschnitt: "Verwenden in einem vorhandenen Schienenantrag"
Andere Tipps
Eine schnelle Lösung dieses Problems wäre es, eine Autorize_ADMIN-Methode zu einem Administrator :: ProdukteController Decorator.rb hinzuzufügen
App / Controller / admin_products_controller_decorator.rb generasacodicetagpre.
HINWEIS: Damit wird das eingestellte Eingestellte in Auth / App / Controller / admin_orders_controller_decorator.rb überschreibenp>
Das heißt, die Rolle muss Zugriff auf das: Admin und: Aktion für das Produkt haben .. dh:
app / modelle / händler_abilität.rb generasacodicetagpre.
sollte den Einzelhändlern ermöglichen, Produkte auf dem Administrator zu lesen.
Vergessen Sie nicht, dies einem Initialisierer hinzuzufügen:
config / initialisierer / spree.rb generasacodicetagpre.