4 Stimmen

Wie konfiguriert man ein Grails-Plugin aus einem anderen Grails-Plugin?

Ich versuche, ein Plugin zu schreiben, das ich in mehreren Grails-Anwendungen wiederverwenden kann. Das Plugin sollte im Grunde eine Hülle für das Spring Security Core und das LDAP-Plugin sein.

Das bedeutet, es sollte enthalten:

  • Die Domänklassen für den Benutzer/Rollen
  • Die Konfiguration für Spring Security (die Zuordnung zu diesen Domänklassen, einige Standard-URL-Zugriffsrollenkonfiguration)

Mein Problem besteht darin, dass ich die Konfiguration in meinem Plugin nicht zum Laufen bekomme. Ich bin verwirrt von den Beispielen, die ich bisher gefunden habe: Manchmal lese ich, dass die Konfiguration einfach in "Config.groovy" stehen sollte, jedoch geben die Grails-Dokumente an, dass diese Datei am Ende kein Teil eines Plugins ist. In einigen Beispielen steht, dass die Konfiguration in eine beliebige andere .groovy-Datei gelegt und mit einem Identifier wie folgt umschlossen werden muss:

myConfigName {
    // normale Konfiguration hier
}

und dann in der doWithSpring-Closure in der MyWrapperPlugin.groovy-Klasse mittels einem Slurper geladen werden soll. Jedoch, wenn ich das richtig verstehe, wird die Konfiguration nur in einen grails.plugin.mywrapper-Namespace gestellt.

Bis jetzt konnte ich kein Beispiel finden, das versucht, das gleiche Ziel zu erreichen (die Konfiguration eines Plugins innerhalb eines anderen Plugins einzustellen).

Alle Beispiele/Hinweise sind willkommen, danke!

4voto

Sie können das Grails Platform Core verwenden

bietet Funktionen, die von Plugins genutzt werden können, um eine größere Integration untereinander und mit Anwendungen zu erreichen

Die Konfigurations-API ist das, wonach Sie suchen. Fügen Sie einfach das doWithConfig in Ihre Plugin-Beschreibungsdatei (*GrailsPlugin.groovy) hinzu:

def doWithConfig = { config ->
  application {
    grails.plugins.springsecurity.ldap.active=true
    ...
  }
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X