特定のパッケージ内のすべてのコントローラーの URL を書き換えることが可能かどうか疑問に思っています。「admin」パッケージ内のすべてのコントローラーの URL を「/$controller」ではなく「/admin/$controller」に変更して、Spring Security で保護できるようにする必要があります。どうもありがとう。
よろしく、 ロイザ
特定のパッケージ内のすべてのコントローラーの URL を書き換えることが可能かどうか疑問に思っています。「admin」パッケージ内のすべてのコントローラーの URL を「/$controller」ではなく「/admin/$controller」に変更して、Spring Security で保護できるようにする必要があります。どうもありがとう。
よろしく、 ロイザ
だから今日、私はこの記事に従ってソリューションを実装しました:
// AppCtx - check the article above
for (controller in AppCtx.grailsApplication.controllerClasses) {
def cName = controller.logicalPropertyName
def packageName = controller.packageName
if (packageName.contains(".admin") || packageName.contains(".springsecurity")) {
"/admin/${cName}/$action?/$id?"(controller: cName) {
constraints {
}
}
} else {
"/${cName}/$action?/$id?"(controller: cName) {
constraints {
// apply constraints here
}
}
}
}
以下をご覧ください: Grails で管理セクションを作成する最良の方法
ただし、この場合、管理領域を個別の grails-embedded-plugin に分割することを常にお勧めします。ここでは、カスタムクラスで魔法をかけることができますUrlMapping
。これにより、メイン アプリケーションがクリーンに保たれます。