【问题标题】:Writing the uri pattern in the url在 url 中写入 uri 模式
【发布时间】:2018-05-10 23:29:47
【问题描述】:

我正在使用带有 scala 的 play framework 2.6,我想阻止从 url 访问我的网页。通常情况下,如果我在 url 中写入 URI 模式,它将通过执行相关操作重定向到网页,例如,如果我在 url 中写入:http://localhost:9000/home 它将重定向到主页,但我想要的是在 url 中写入 URI(在本例中为:/home)时重定向到错误页面而不是主页.

my routes file
GET  /home controllers.HomeController.index()

【问题讨论】:

  • 你的意思是你想从一些内部链接而不是直接从 url 导航?
  • 我的情况是:当我运行应用程序时,如果成功验证进入主页,则会出现登录页面,否则我们会留在登录页面,这很好。我的问题是当我在登录页面我可以通过添加到url /home而无需登录即可进入主页

标签: scala url playframework-2.6


【解决方案1】:

你可以redirect in the controller method:

# my routes file
GET  /home controllers.HomeController.errorRedirect()

# HomeController
...
  def errorRedirect = Action {
    Redirect("/error")
  }

或者你想catch all然后重定向:

# my routes file
GET  /home controllers.HomeController.home()
GET  /*path controllers.HomeController.errorRedirect()

另请参阅:play 文档中的supplying a custom error handler

【讨论】:

  • 我的情况是:当我运行应用程序时,如果成功验证进入主页,则会出现登录页面,否则我们会留在登录页面,这很好。我的问题是当我在登录页面我可以通过添加到url /home而无需登录即可进入主页
猜你喜欢
  • 1970-01-01
  • 2010-10-27
  • 1970-01-01
  • 1970-01-01
  • 2012-06-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多