2016-05-12 10 views
0

Ich versuche einige Seiten in meiner Config.groovy mit Einschränkungen zu versehen, aber ich kann das nicht richtig machen.Wie kann man eine Beschränkung basierend auf Rollen in der Datei Config.groovy auf Grails hinzufügen?

Ich möchte, dass RoleType.ROLE_HR_ADMIN Zugriff auf Index und Erstellungsseiten. Während für RoleType.ROLE_HR_READONLY sollte es in der Lage sein, auf die Indexseite zuzugreifen und nur Seiten anzuzeigen. Ich verstecke die Schaltfläche bereits, damit der Benutzer nicht darauf klicken kann, um zum Erstellungsbildschirm zu gelangen. Aber wenn ich die vollständige URL bekomme, kopiere sie und füge sie in den Browser ein, kann ich immer noch darauf zugreifen.

Das ist, was ich auf Config.groovy versucht zu tun: Ich bin immer

'/siteadmin/party/**': [RoleType.ROLE_SITE_ADMIN.id], 
     '/siteadmin/party/create/**': [RoleType.ROLE_HR_ADMIN.id], 
     '/siteadmin/party/index/**': [RoleType.ROLE_HR_ADMIN.id, RoleType.ROLE_HR_READONLY.id], 

aber dann:

"Sorry, you're not authorized to view this page." 

Wenn mir jemand richtig tun können senden Sie einen Link zeigt, wie es es wäre toll. Ich versuchte einige verschiedene Ansätze, aber keiner von ihnen funktionierte. diese

Antwort

1

Check out: https://grails-plugins.github.io/grails-spring-security-core/v2/guide/requestMappings.html

Besonders Blick auf grails.plugin.springsecurity.interceptUrlMap:

'/j_spring_security_switch_user': ['ROLE_ADMIN'] 

so in Ihrem Fall:

'/siteadmin/party/create/**': ['ROLE_HR_ADMIN'], 
'/siteadmin/party/index/**': ['ROLE_HR_ADMIN', 'ROLE_HR_READONLY'] 
'/siteadmin/party/**': ['ROLE_SITE_ADMIN'] 

Reihenfolge ist wichtig.

+0

Ja ... Dieser funktioniert ... also kann der ROLE_SITE_ADMIN auf alle Seiten dort zugreifen ... aber die Sache ist, dass der ROLE_HR_READONLY nicht auf den Erstellungsbildschirm zugreifen kann. Also kann ich diese nicht zur generischen Party/** hinzufügen. Stattdessen muss ich eine andere Möglichkeit finden, sie zu den spezifischen Seiten hinzuzufügen, auf die ich zugreifen möchte, oder? – Igor

+0

Ändern Reihenfolge der Zuordnung für das von meiner aktualisierten Antwort. –

+0

Danke! Ich habe den Auftrag nicht bemerkt ... – Igor

Verwandte Themen