Domanda

Ciao,

Mi chiedo qual è il modo migliore per creare una sezione di amministrazione (backend) in un'app Grails?

Voglio creare una cartella "Admin" nella cartella "controllers" di Grails per inserire tutti i miei controller di amministrazione.Ma allora dovrò creare manualmente la mappatura degli URL per ciascun controller di amministrazione?

Ho già generato tutto il mio GSP frontend con il file genernate-all comando che richiede a Classe di dominio ma so come posso generare il mio CRUD per la mia sezione di amministrazione (con la stessa classe di dominio).Sono fregato?

Grazie mille per i tuoi consigli!

È stato utile?

Soluzione

La mia preferenza per questo è di avere una distinta domanda di amministrazione. Stick tutte le classi di dominio in un plugin e che va installato plugin nella sia l'applicazione admin e l'appilcation consumatore.

In questo modo, è possibile modificare i controllori ai vostri cuori contenuto e non preoccuparsi di utenti finali li colpisce. I servizi condivisi possono anche essere nel plugin dominio.

C'è un file speciale che si può mettere nel vostro graal-app / conf chiamato BuildConfig.groovy cui è possibile specificare i plugin "locali" come il plugin di dominio che vengono automaticamente portato nella classpath senza dover confezionare / installare il plugin. Rende facile eccellente.

Altri suggerimenti

È possibile creare i controller di amministrazione come qualsiasi altro controller e utilizzare un per assicurarsi registrati solo gli utenti con privilegi di amministratore possa accedervi.

Molto tardi per questo, ma ecco un modo che potrebbe essere utile, almeno per un'applicazione più piccola (sto usando Grails 2.0):

In conf/UrlMappings.groovy:

class UrlMappings {
  static mappings = {
    "/admin/$controller/$action?/$id?"{ constraints { // apply constraints here
      } }
    '/admin' (controller: 'yourMainController', action: 'list')
    '/' (controller: 'public', action:'index')
    // For the PublicController to handle *all* other requests (like /foo/bar/):
    // '/**' (controller: 'public', action:'index')
    "500"(view:'/error')
  }
}

Nota Come puoi vedere, questo non è stato protetto in alcun modo.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top