Forum: Rails Germany Dynamische Rollenverwaltung

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Torsten F. (Guest)
on 2009-02-06 12:05
(Received via mailing list)
servus zusammen,

mit Interesse habe ich Eure Unterhaltung bezüglich
des rails-authorization-plugin verfolgt. Persöhnlich
setze ich restful-authentication im Zusammenspiel mit
role_requirement[1] ein. Ist einfach und funktioniert
hier problemlos.

Ich schreibe deshalb, weil mich an all den Plugins eines
ziemlich stört: sie sind alle zu statisch. Will meinen,
man muss (meistens in den betreffenden Controllern) die
Zugriffsregeln festlegen. Etwa der Form:
require_role "admin", :except => :index

Mit anderen Worten: es steht schwarz auf weiß im Programm
und kann zur Laufzeit nicht mehr geändert werden:
jedwede Änderung hier zieht einen Neustart der Applikation
nach sich und das ist es was mich stört.

Flexibler wäre es doch, wenn beim Starten von Rails alle
Controller und deren öffentliche Aktionen[2] in einer
Struktur im Speicher vorgehalten werden. Über das Webfrontend
kann dann der Admin die Aktionen der Controller bequem mit
den Benutzerrollen verknüpfen - welche in der DB landen.

Bei einem nun erfolgenden Request wird über den ohnehin
vorhandenen before_filter in die DB geschaut und die
require_role Bedingung mit den zugehörigen Aktionen zur
Laufzeit in das Plugin "injiziert" - wenn ich so sagen darf.

Die Logik des before_filters lagert man in ein eigenes Plugin
aus und man folgt dem Prinzip DRY, da die ewigen Wiederholungen
aus den Controllern verschwinden.

Probleme sehe ich beim Cachen - müsste man halt testen,
und natürlich entstehen zusätzliche Datenbankzugriffe.
Aber wenn meine Denke richtig ist, kann man so völlig
flexibel an den Rechten der Benutzer schrauben, ohne die
Applikation neu zu starten.

Abschließende Frage: geht das überhaupt so und gibts das
vielleicht schon?

Gruß
Torsten

[1] http://github.com/timcharper/role_requirement/tree/master
[2] über ActionController::Routing::Routes.routes auslesbar
Thomas r. K. (Guest)
on 2009-02-06 14:37
(Received via mailing list)
Hi Torsten,

Wenn du's so flexibel brauchst dann schau dir mal goldberg an:

http://github.com/urbanus/goldberg/

ciao, tom


Am 06.02.2009 um 11:04 schrieb Torsten F.:
> nach sich und das ist es was mich stört.
...

--
Thomas R. "TomK32" Koll <> http://ananasblau.com
just a geek trying to change the world
http://github.com/TomK32
Torsten F. (Guest)
on 2009-02-06 22:26
(Received via mailing list)
Thomas R. Koll schrieb:
> Hi Torsten,
>
> Wenn du's so flexibel brauchst dann schau dir mal goldberg an:
> http://github.com/urbanus/goldberg/

hmmm, würd' ich gern. Die Homepage sagt: Rails application failed to
start properly - seit einigen Stunden. Und ich möchte erstmal wissen,
worum es bei dem Projekt überhaupt geht, bevor ich mich in den Quell-
code vertiefe... :-)

torsten
Thomas r. K. (Guest)
on 2009-02-07 15:13
(Received via mailing list)
Hi,


Am 06.02.2009 um 21:26 schrieb Torsten F.:
> Thomas R. Koll schrieb:
>>
>> Wenn du's so flexibel brauchst dann schau dir mal goldberg an:
>> http://github.com/urbanus/goldberg/
>
> hmmm, würd' ich gern. Die Homepage sagt: Rails application failed to
> start properly - seit einigen Stunden. Und ich möchte erstmal wissen,
> worum es bei dem Projekt überhaupt geht, bevor ich mich in den Quell-
> code vertiefe... :-)

web.archive.org
Aber die Seite war nie wirklich gut oder hilfreich.

Falls der code irgendwo Probleme macht oder bugs auftreten lass
es mich wissen und ich helf beim beheben der Fehler. Meine
eigenen goldberg Installation laufen mit 2.2.2

ciao, tom

--
Thomas R. "TomK32" Koll || http://tomk32.de || http://ananasblau.com
just a geek trying to change the world
Skype: TomK32 || Mail: removed_email_address@domain.invalid
http://flickr.com/people/tomk32
Torsten F. (Guest)
on 2009-02-07 16:10
(Received via mailing list)
Thomas R. Koll schrieb:
>> code vertiefe... :-)
>
> web.archive.org
> Aber die Seite war nie wirklich gut oder hilfreich.
>
> Falls der code irgendwo Probleme macht oder bugs auftreten lass
> es mich wissen und ich helf beim beheben der Fehler. Meine
> eigenen goldberg Installation laufen mit 2.2.2

Danke!
This topic is locked and can not be replied to.