【发布时间】:2016-06-08 19:10:06
【问题描述】:
我正在尝试将 Deadbolt2 集成到我的游戏框架 2.4 应用程序中。
我的控制器中有以下代码
import be.objectify.deadbolt.scala.{ActionBuilders, AuthenticatedRequest, DeadboltActions}
import be.objectify.deadbolt.scala.cache.HandlerCache
import play.api.data.Form
import play.api.data.Forms._
import play.api.mvc.{AnyContent, _}
import modules.user.security.{Authenticator, HandlerKeys, MyDeadboltHandler}
class Login @Inject() (deadbolt: DeadboltActions, handlers: HandlerCache, actionBuilder: ActionBuilders) extends Controller {
//...
def login = deadbolt.SubjectNotPresent() {
Action { implicit request =>
Ok(login(loginForm))
}
}
}
我收到错误missing parameter type。我正在关注deadbolt examples,这对我有很大帮助,但我不知道如何将隐式请求转化为行动。
我的模板是这样开始的:
@(loginForm: Form[LoginForm])(implicit flash: Flash)
直接使用Action 而不使用deadbolt.SubjectNotPresent() 效果很好。
【问题讨论】:
-
你的进口产品呢?
-
@manub 问题已更新
-
您使用的是哪个版本的锁舌?如果它是 2.4.4,则将隐式请求切换为显式经过身份验证的请求。有关示例,请参阅github.com/schaloner/deadbolt-auth0-scala。当我不使用智能手机时,我会写一个正确的答案。
-
@SteveChaloner 是的,我使用的是 2.4.4。谢谢,非常感谢您的帮助!
-
@PeterKrejci 我已经更新了github.com/schaloner/deadbolt-2-scala 的文档 - 答案基于(阅读:复制/粘贴)那里。如果答案不明确,能否告诉我,以便我也可以改进文档?
标签: scala playframework deadbolt-2