禁用grails可搜索插件默认搜索页面?

时间:2010-07-03 03:27:07

标签: grails searchable

我正在尝试禁用Searchable插件默认搜索页面(http://localhost/searchable/),但还没有找到办法。任何人都知道如何做到这一点,最好以合法的方式,但必要时采取欺骗手段?

1 个答案:

答案 0 :(得分:4)

我通常会将错误代码处理程序重新路由到控制器,这样我就可以在渲染视图之前进行一些日志记录或其他操作。你也可以在这里使用它:

class UrlMappings {

   static mappings = {

      "/searchable/$action?"(controller: "errors", action: "urlMapping")

      "/$controller/$action?/$id?" { }

      "/"(view:"/index")

      "403"(controller: "errors", action: "accessDenied")
      "404"(controller: "errors", action: "notFound")
      "405"(controller: "errors", action: "notAllowed")
      "500"(view: '/error')
   }
}

其中ErrorsController看起来像这样:

class ErrorsController {

   def accessDenied = {}

   def notFound = {
      log.debug "could not find $request.forwardURI"
   }

   def notAllowed = {}

   def urlMapping = {
      log.warn "unexpected call to URL-Mapped $request.forwardURI"
      render view: 'notFound'
   }
}

你需要在grails-app / errors中创建accessDenied.gsp,notFound.gsp和notAllowed.gsp

通过向其自定义映射发送“隐藏”控制器,您可以记录对其的意外访问,但仍然会渲染404页面以隐藏其存在。