我尝试使用Deadbolt进行授权,并使用Play 2.3.3和Scala 2.11.1进行Silhouette或SecureSocial身份验证。
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中找到任何方法来获取"当前用户"。 Silhouette和SecureSocial都有一个SecuredRequest [AnyContent](扩展的WrappedRequest),而MyDeadboltHandler中的getRequest方法需要一个Request [A]。 SecuredRequest在MyDeadboltHandler中不可见的特征中定义。
非常感谢任何建议。