declarative_authorization und Benutzerkontext
-
11-10-2019 - |
Frage
An Planung über die Verwendung deklarative Zulassung in einer Rails 3 App. Ich habe folgende Modellbeziehungen:
class Role < ActiveRecord::Base
has_many :permissions, :dependent => :destroy
has_many :users, :through => :permissions, :uniq => true
end
class Permission < ActiveRecord::Base
belongs_to :user
belongs_to :role
belongs_to :context
end
class User < ActiveRecord::Base
has_many :permissions, :dependent => :destroy
has_many :roles, :through => :permissions
roles.map do |role|
role.name.underscore.to_sym
end
end
class Context < ActiveRecord::Base
has_many :contexts, :dependent => :destroy
end
Das Konzept hier ist, dass ich zu segmentieren verschiedene Datensätze in unterschiedlichen Kontexten werde. Jedoch kann ein bestimmte Benutzer für jeden Kontext unterschiedliche Rollen hat - vielleicht einen Admin in einem Kontext und ein basisches Benutzer in einem anderen. Ich habe current_user und current_context für den Einsatz in Steuerungen und Ansichten umgesetzt werden.
Ich plane, die if_attribute auf mit der rechten Erlaubnis auf dem richtigen Datensatz zu verweisen. Allerdings ist die Frage, wie kann ich die def role_symbols nur die Rollen mit dem Benutzer in einem bestimmten Kontext zugeordnet zurückkehren, wenn ich kann nicht / nicht sollte Referenz current_context in einem Modell (wo role_symbols definiert ist).
Irgendwelche Ideen?
Lösung
War Glück genug, um die Antwort zu finden, hier:
http://blog.drivingthevortex.nl/2010 / 01/24 / mit-declarative_authorization-mit-Subdomains /