我正在尝试使用 Deadbolt 进行授权,并使用 Silhouette 或 SecureSocial 使用 Play 2.3.3 和 Scala 2.11.1 进行身份验证。
MyDeadboltHandler 有一个要覆盖的 getSubject ,为此我需要从请求中检索用户。使用 SecureSocial 2 非常简单。
override def getSubject[A](request: Request[A]): Option[Subject] = {
SecureSocial.currentUser(request) match {
case Some(identity) => // Subject could be created and returned
case _ => None
}
我无法在剪影中找到任何方法来获取“当前用户”。此外,Silhouette 和 SecureSocial 都有 SecuredRequest[AnyContent](扩展 WrappedRequest),而 MyDeadboltHandler 中的 getRequest 方法需要一个 Request[A]。SecuredRequest 在 MyDeadboltHandler 中不可见的特征中定义。
任何建议都将受到高度赞赏。