使用安全助手不编译:play framework 2.3.x.

vum*_*sha 2 scala playframework-2.3

我试图在控制器内使用安全助手,如Security.scala的源代码所示

https://github.com/playframework/playframework/blob/2.3.x/framework/src/play/src/main/scala/play/api/mvc/Security.scala#L31

我的代码看起来像

import play.mvc.Security.Authenticated

Application extends Controller {
  ..... some other Actions
  def isAuthenticated(f: => String => Request[AnyContent] => Result) = {
      Authenticated { user =>
          Action(request => f(user)(request))
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但是,我收到以下编译错误

[info] Compiling 1 Scala source to /home/venki/play/lrs/target/scala-2.11/classes...
[error] /home/venki/play/lrs/app/controllers/Application.scala:119: object play.mvc.Security.Authenticated is not a value
[error]       Authenticated { user =>
[error]       ^
[error] one error found
[error] (compile:compile) Compilation failed
Run Code Online (Sandbox Code Playgroud)

我无法理解错误.从源代码中我可以看到Security对象包含两个名为Authenticated的重载方法.我完全复制粘贴了作为示例用法给出的代码,但它仍然无法正常工作.很感谢任何形式的帮助

edi*_*edi 6

您在github上引用的安全性类型位于 play.api.mvc包中,但您要从中导入一个play.mvc.play.mvc保留给Java,而不是Scala,请参阅此处获取更多信息.