9
votes

Meilleur moyen de créer une section administrative dans Grails

hy,

Je me demande quel est le meilleur moyen de créer une section admin (backend) dans une application Grails?

Je souhaite créer un dossier "admin" dans le dossier "Contrôleurs" des greils pour mettre tous mes contrôleurs d'administration. Mais puis-je devoir créer manuellement le mappage d'URL pour chaque contrôleur d'administrateur?

J'ai déjà généré tout mon frontend GSP avec la commande genernate-all qui prend un classe de domaine mais savoir comment puis-je générer mon CRUD pour ma section administrative (avec la même classe de domaine). Suis-je fouillé?

Merci beaucoup pour vos conseils!


0 commentaires

3 Réponses :


2
votes

Vous pouvez créer vos contrôleurs d'administration comme n'importe quel autre contrôleur et utiliser un filtre pour vous assurer que seulement connecté chez les utilisateurs avec des privilats d'administration peuvent y accéder.


1 commentaires

OK merci, il fonctionne bien si je crée manuellement un deuxième contrôleur, mais comment générer 2 contrôleurs de 1 classe de domaine? (quelque chose comme / commentatroller et / admin / commentatroller de mon commentaire.Groovy classe?)



11
votes

Ma préférence pour cela est d'avoir une application distincte pour admin. Collez toutes vos classes de domaine dans un plugin et installez ce plugin dans l'application admin et l'appui de consommateur.

De cette façon, vous pouvez modifier les contrôleurs à votre contenu de votre cœur et ne pas vous inquiéter des utilisateurs finaux qui les frappent. Les services partagés peuvent également être dans le plugin de domaine.

Il y a un fichier spécial que vous pouvez mettre dans votre grails-app / confert appelé buildconfig.groovy où vous pouvez spécifier des plug-ins "local" tels que le plug-in de domaine qui sont automatiquement apportés dans la classe de classe sans avoir à emballer / installer le plugin. Le rend super facile.


3 commentaires

Merci beaucoup! J'aime la façon dont vous divisez l'administrateur et le front. À propos du fichier "buildconfig.groovy", dois-je ajouter la propriété "grails.project.plugins.dir" pour apporter les classes de domaine du plugin à My Grails App ClassPath?


Nope, laissez simplement savoir où le plugin est sur votre disque local. Voici le contenu de My Grails-App / Conf / BuildConfig.Groovy Fichier dans une application que j'ai mon "domaine" plug-in installé dans: grails.plugin.location.domain = "../domain" ajoute automatiquement tout le Des trucs nécessaires à mon chemin de classe de ce plugin de domaine lors de l'exécution / de l'emballage / enroulant l'application. (Formatage étrange sur des commentaires, espérons que cela a du sens)


Oh ok je comprends ça! Merci beaucoup pour votre aide!



1
votes

très tard à cela, mais voici une façon qui pourrait être utile, du moins pour une application plus petite (j'utilise Grails 2.0):

dans Conf / Urlmappings.Groovy: P>

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')
  }
}


0 commentaires