玩Scala 2.3.x - 将SecureSocial或Sihouette集成到Deadbolt

时间:2014-08-31 03:59:10

标签: playframework playframework-2.0 securesocial deadbolt-2

我尝试使用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中不可见的特征中定义。

非常感谢任何建议。

0 个答案:

没有答案