使用经过身份验证的操作组成光滑的dbaction

时间:2014-03-28 10:44:48

标签: scala playframework playframework-2.2 slick

我的自定义身份验证操作就像

def Authenticated(rights: String*) = new ActionBuilder[MyAuthenticatedRequest] {
  ***
}

在我的控制器中,我使用此操作来检查用户是否有权查看页面

def password = Authenticated(UserRights.USER) { implicit request: MyAuthenticatedRequest[_] =>
  Users.findById(request.account.id) match {
    case Some(user) => Ok(views.html.settings.password(frontUser, user))
    case _ => NotFound
  }
}

我的对象用户使用光滑来检索数据库中的用户

def findById(id: Long)(implicit s: Session): Option[User] = users.where(_.id === id).firstOption

在我的控制器中,我有一个错误

could not find implicit value for parameter s: play.api.db.slick.Config.driver.simple.Session

这是因为我必须在查询数据库之前在我的控制器中打开一个会话。

我想使用play-slick提供的DBAction并使用我的身份验证操作进行组合,但是我在理解动作组合的工作方式时遇到了一些问题

0 个答案:

没有答案