Module: Tuersteher::ControllerExtensions
- Defined in:
- lib/tuersteher.rb
Overview
Module zum Include in Controllers Dieser muss die folgenden Methoden bereitstellen:
login_contex : akt. Login-Contex
access_denied : Methode aus dem authenticated_system, welche ein redirect zum login auslöst
Der Loginlogin_contex muss fuer die hier benoetigte Funktionalitaet die Methode:
has_role?(role) # role the Name of the Role as Symbol
besitzen.
Beispiel der Einbindung in den ApplicationController
include Tuersteher::ControllerExtensions
before_filter :check_access # methode is from Tuersteher::ControllerExtensions
Class Method Summary collapse
Instance Method Summary collapse
-
#model_access?(model, permission) ⇒ Boolean
Pruefen Zugriff auf ein Model-Object.
-
#path_access?(path, method = :get) ⇒ Boolean
Pruefen Zugriff fuer eine Web-action.
-
#purge_collection(collection, permission) ⇒ Object
Bereinigen (entfernen) aller Objecte aus der angebenen Collection, wo der akt.
Class Method Details
.included(base) ⇒ Object
303 304 305 306 307 308 |
# File 'lib/tuersteher.rb', line 303 def self.included(base) base.class_eval do # Diese Methoden auch als Helper fuer die Views bereitstellen helper_method :path_access?, :model_access?, :purge_collection end end |
Instance Method Details
#model_access?(model, permission) ⇒ Boolean
Pruefen Zugriff auf ein Model-Object
model das Model-Object permission das geforderte Zugriffsrecht (:create, :update, :destroy, :get)
liefert true/false
290 291 292 |
# File 'lib/tuersteher.rb', line 290 def model_access? model, AccessRules.model_access? login_contex, model, end |
#path_access?(path, method = :get) ⇒ Boolean
Pruefen Zugriff fuer eine Web-action
path Pfad der Webresource (String) method http-Methode (:get, :put, :delete, :post), default ist :get
280 281 282 |
# File 'lib/tuersteher.rb', line 280 def path_access?(path, method = :get) AccessRules.path_access? login_contex, path, method end |
#purge_collection(collection, permission) ⇒ Object
Bereinigen (entfernen) aller Objecte aus der angebenen Collection, wo der akt. login_contex nicht das angegebene Recht hat
liefert ein neues Array mit den Objecten, wo der spez. Zugriff arlaubt ist
298 299 300 |
# File 'lib/tuersteher.rb', line 298 def purge_collection collection, AccessRules.purge_collection(login_contex, collection, ) end |