Guice seems to always bring in PersistenceModule, then tells me that a binding to "DelegableAuthInfoDAO was already configured" There is no problem at all in Silhouette 3 with the same code. How does one override the PersistenceModule bindings with their own real (not in memory) persistence in Silhouette 4?
class SilhouetteModule extends AbstractModule with ScalaModule {
def configure() {
...
bind[DelegableAuthInfoDAO[PasswordInfo]].to[PasswordInfoDAO]
bind[DelegableAuthInfoDAO[OAuth1Info]].to[OAuth1InfoDAO]
bind[DelegableAuthInfoDAO[OAuth2Info]].to[OAuth2InfoDAO]
bind[DelegableAuthInfoDAO[OpenIDInfo]].to[OpenIDInfoDAO]
...
Caused by: com.google.inject.CreationException: Unable to create injector, see the following errors:
1) A binding to com.mohiva.play.silhouette.persistence.daos.DelegableAuthInfoDAO<com.mohiva.play.silhouette.api.util.PasswordInfo> was already configured at modules.SilhouetteModule.bind(SilhouetteModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> modules.SilhouetteModule).
at com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule.bind(PersistenceModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule)
2) A binding to com.mohiva.play.silhouette.persistence.daos.DelegableAuthInfoDAO<com.mohiva.play.silhouette.impl.providers.OAuth1Info> was already configured at modules.SilhouetteModule.bind(SilhouetteModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> modules.SilhouetteModule).
at com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule.bind(PersistenceModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule)
3) A binding to com.mohiva.play.silhouette.persistence.daos.DelegableAuthInfoDAO<com.mohiva.play.silhouette.impl.providers.OAuth2Info> was already configured at modules.SilhouetteModule.bind(SilhouetteModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> modules.SilhouetteModule).
at com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule.bind(PersistenceModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule)
4) A binding to com.mohiva.play.silhouette.persistence.daos.DelegableAuthInfoDAO<com.mohiva.play.silhouette.impl.providers.OpenIDInfo> was already configured at modules.SilhouetteModule.bind(SilhouetteModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> modules.SilhouetteModule).
at com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule.bind(PersistenceModule.scala:34) (via modules: com.google.inject.util.Modules$OverrideModule -> com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule)
5) A binding to com.mohiva.play.silhouette.api.repositories.AuthInfoRepository was already configured at modules.SilhouetteModule.provideAuthInfoRepository() (via modules: com.google.inject.util.Modules$OverrideModule -> modules.SilhouetteModule).
at com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule.provideAuthInfoRepository(PersistenceModule.scala:62) (via modules: com.google.inject.util.Modules$OverrideModule -> com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule)
play.modules.disabled += "com.mohiva.play.silhouette.persistence.memory.modules.PersistenceModule"
"com.mohiva" %% "play-silhouette-persistence-memory" % "4.0.0-BETA4"