我正在研究剪影框架,并正在创建一个类型的变量Environment
。它的伴生对象有签名
def apply[E <: Env](
identityServiceImpl: IdentityService[E#I],
authenticatorServiceImpl: AuthenticatorService[E#A],
requestProvidersImpl: Seq[RequestProvider],
eventBusImpl: EventBus
对于authenticatorServiceImpl
参数,我认为我可以传递伴随对象SessionAuthenticatorService
(定义在 中https://github.com/mohiva/play-silhouette/blob/master/silhouette/app/com/mohiva/play/silhouette/impl/authenticators/SessionAuthenticator.scala
)但是当我尝试时:
val sessionEnv = com.mohiva.play.silhouette.api.Environment[SessionEnv](new UserService(userRepository),SessionAuthenticatorService() ,CredentialsProvider(),EventBus())
我得到错误
com.mohiva.play.silhouette.impl.authenticators.SessionAuthenticatorService.typ 不带参数。
我删除了()
但又出现了另一个错误:
发现:SessionAuthenticatorService.type [错误] 必需:AuthenticatorService[components.SessionEnv#A]
看来我的概念是不健全的。为什么我不能通过SessionAuthenticatorService
?