Come posso dinamicamente costruire una lista di mapping - invece di:dinamica Grails URL mapping config
class UrlMappings {
static mappings = {
"/helpdesk/user/$action?/$id?" (controller="helpdeskuser")
"/helpdesk/group/$action?/$id?" (controller="helpdeskgroup")
"/helpdesk/company/$action?/$id?" (controller="helpdeskcompany")
"/helpdesk/account/$action?/$id?" (controller="helpdeskaccount")
"/admin/company/$action?/$id?" (controller="admincompany")
"/admin/account/$action?/$id?" (controller="adminaccount")
}
}
qualcosa come questo pseudo codice:
class UrlMappings {
static mappings = {
application.controllerClasses.each {
if(it.name.startsWith('helpdesk'))
"/helpdesk/${it.name}/$action?/$id?" (controller="${it.name}")
if(it.name.startsWith('admin'))
"/admin/${it.name}/$action?/$id?" (controller="${it.name}")
}
}
}
(non capisco quello che la statica le mappature sono - una mappa hash? variabili libere?)
Quello che sto cercando di ottenere sono mappature basate sul tipo di controller - ad es. helpdesk, amministratore o controller utente. Una volta che ho impostato le mappature voglio aggiungere sicurezza basata su URL, ma io non voglio di mappare ogni controller singolarmente:
grails.plugins.springsecurity.interceptUrlMap = [
'/helpdesk/**': ['ROLE_HELPDESK','ROLE_ADMIN'],
]
Funziona, grazie. – DavidC
Tranne che ora e suppongo che il reindirizzamento del controller non restituisca l'url corretto. –
DavidC
mmm..it dovrebbe Dashboard nella mia app rende rendering/admin/dashboard utilizzando lo stesso codice come sopra. –