| 

.NET C# Java Javascript Exception

Acegi Security mit nicht nur action bezogen sondern auch auf einzelne Attribute

Dies ist das Archiv des ehemaligen Forums zum Thema Groovy, Grails, Griffon und Bean Scripting Framework, welches unter groovy-forum.de existierte. Die neue Adresse des Groovy-Forums ist: http://codekicker.de/fragen/themen/groovy.


Acegi Security mit nicht nur action bezogen sondern auch auf einzelne Attribute

Maddin - 11.10.2008 15:04
Hallo,
weiss jmd ob es moeglich ist, einzelnen Attribute einer Domain verschiedene Rollen zuzuteilen. Wenn ich z.B. die Attribute "name", "birthday", "email" habe, soll nur der User mit der Rolle Admin den Namen aendern koennen, der User in der Rolle default jedoch birthday und email.

Ich hab mir schon ueberlegt bei den constraints ne eigene validierung zu machen, sprich je nach Rolle muss das Feld (bsp name) leer bleiben ansonsten fehler oder darf ausgefuellt werden. Beim Speichern wird dann aus der DB die alten Felder geladen und nur die bearbeiten durch data binding aktualisiert. Keine Ahnung ob das funktionieren koennte.

Vielen Dank im Voraus

Martin


Re: Acegi Security mit nicht nur action bezogen sondern auch auf einzelne Attribute

BjoernW - 14.10.2008 23:58
Ich würde das so in Art machen:

if (!g.ifAnyGranted('ROLE_ADMIN') && params.name != user.name) {
user.errors.rejectValue('name', 'You are not allowed to change your name!')
}

Statt g.ifAnyGranted kann man sich die entsprechenden Informationen auch über den authenticateService holen (was insofern eleganter ist, als dass es sich bei g.ifAnyGranted eigentlich um ein Tag handelt, das normalerweise nur im View aufgerufen werden sollte):

def authenticateService
principal = authenticateService.principal()
def authorities = principal.getAuthorities()

--
Meine Grails Apps:
ContentSieve: [www.contentsieve.com]
GameSear.ch: [www.gamesear.ch]
PetSear.ch: [www.petsear.ch]
BusinessSear.ch: [www.businesssear.ch]


Stelle deine Groovy-Frage jetzt!


Diese Seite zeigt den Thread "Acegi Security mit nicht nur action bezogen sondern auch auf einzelne Attribute" der ehemaligen Webseite groovy-forum.de, welche durch einen Serverunfall zerstört wurde. codekicker.de hat viele Konversationen über die beliebte Programmiersprache Groovy und zugehörige Frameworks wie das Grails-Framework retten können.

Hast Du eine Frage zum Thema Groovy, Grails oder allgemein Java? Viele ehemalige groovy-forum.de Mitglieder beantworten dir auf codekicker.de deine Frage! Stelle jetzt eine Frage!

Viele weitere Diskussionen zu Grails und Groovy befinden sich auf der Threadübersicht des alten groovy-forum.de.