Play Framework пытается получить доступ к БД с именем пользователя Windows

У меня есть db.conf, который выглядит так в папке conf:

db.default.driver=org.postgresql.Driver
db.default.url="jdbc:postgresql://62.210.145.112/babybets"
db.default.username=postgres
db.default.password="my_password"

Он включен в application.conf:

include "db.conf"

Информация определенно верна, так как я использую ту же самую строку подключения jdbc, user/pass для подключения представления Intellij DB к базе данных.

Когда я пытаюсь получить доступ к любой странице, я получаю сообщение об ошибке:

play.api.Configuration$$anon$1: Configuration error[Cannot connect to database [default]]
    at play.api.Configuration$.play$api$Configuration$$configError(Configuration.scala:94) ~[play_2.10-2.3.8.jar:2.3.8]
    at play.api.Configuration.reportError(Configuration.scala:743) ~[play_2.10-2.3.8.jar:2.3.8]
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:247) ~[play-jdbc_2.10-2.3.2.jar:2.3.2]
    at play.api.db.BoneCPPlugin$$anonfun$onStart$1.apply(DB.scala:238) ~[play-jdbc_2.10-2.3.2.jar:2.3.2]
    at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:244) ~[scala-library-2.10.5.jar:na]
Caused by: org.postgresql.util.PSQLException: FATAL: password authentication failed for user "John"
    at org.postgresql.core.v3.ConnectionFactoryImpl.doAuthentication(ConnectionFactoryImpl.java:293) ~[postgresql-9.1-901-1.jdbc4.jar:na]
    at org.postgresql.core.v3.ConnectionFactoryImpl.openConnectionImpl(ConnectionFactoryImpl.java:108) ~[postgresql-9.1-901-1.jdbc4.jar:na]
    at org.postgresql.core.ConnectionFactory.openConnection(ConnectionFactory.java:66) ~[postgresql-9.1-901-1.jdbc4.jar:na]
    at org.postgresql.jdbc2.AbstractJdbc2Connection.<init>(AbstractJdbc2Connection.java:125) ~[postgresql-9.1-901-1.jdbc4.jar:na]
    at org.postgresql.jdbc3.AbstractJdbc3Connection.<init>(AbstractJdbc3Connection.java:30) ~[postgresql-9.1-901-1.jdbc4.jar:na]

В приведенном выше вы можете видеть, что он пытается подключиться к базе данных, используя мой логин Windows «Джон».

Я прошел проект с агентом Рансаком и попробовал следующее регулярное выражение (без учета регистра):

[^\\]john[^\\]

Это соответствует только приведенному выше журналу ошибок.

Вопрос. Почему игра использует мою учетную запись Windows для подключения к базе данных? Как этого избежать?

Просто для информации мой build.sbt выглядит так:

name := "babyBets2"

version := "1.0"

lazy val `babybets2` = (project in file(".")).enablePlugins(PlayScala)

scalaVersion := "2.10.5"

libraryDependencies ++= Seq( cache , ws )

libraryDependencies ++= Seq("postgresql" % "postgresql" % "9.1-901-1.jdbc4",
  "com.typesafe.play" %% "play-slick" % "0.8.0",
  "ws.securesocial" %% "securesocial" % "2.1.4" )

unmanagedResourceDirectories in Test <+=  baseDirectory ( _ /"target/web/public/test" )  

person user2346536    schedule 24.07.2015    source источник


Ответы (1)


Хорошо, это сумасшествие, между версиями Play есть разница:

https://www.playframework.com/documentation/2.4.x/ScalaDatabase https://www.playframework.com/documentation/2.3.x/ScalaDatabase

db.default.username=postgres

vs

db.default.user=postgres

Таким образом, очевидно, что если пользователь не указан, игра не отображает полезных сообщений об ошибках и пытается соединить вас с входом в Windows!

person user2346536    schedule 24.07.2015