我在 SailsJS、Passport-Local 和 PostgreSQL 中有一个个人项目。我设法获得连接并将用户保存在 PostgreSQL 数据库中。但是我在 session 存储方面有很大的问题。据我所知,SailsJS 正在使用 Connect 来完成它。
MongoDB 以前的工作代码:
connections: {
prodMongodbServer: {
adapter: 'sails-mongo',
host: 'localhost',
port: 27017,
//user: '',
//password: '',
database: 'sails-auth'
}
},
session: {
adapter: 'mongo',
host: 'localhost',
port: 27017,
db: 'sails-auth',
collection: 'sessions'
}
我与 PostgreSQL 的(工作)连接:
connections: {
somePostgresqlServer: {
adapter: 'sails-postgresql',
host: 'localhost',
port: 5432,
user: 'postgres',
password: 'Password1',
database: 'sails-auth'
}
},
我有问题的代码:
session: {
adapter: 'connect-pg-simple',
host: 'localhost',
port: 5432,
user: 'postgres',
password: 'Password1',
db: 'sails-auth'
}
我已经安装了 connect-pg-simple ,执行了 SQL 代码,但是当我启动 sails 应用程序时出现错误:
$ sails lift
info: Starting app...
Init Express midleware
Failed to prune sessions: password authentication failed for user "myPcUser"
info:
info: .-..-.
info:
info: Sails <| .-..-.
info: v0.11.3 |\
info: /|.\
info: / || \
info: ,' |' \
info: .-'.-==|/_--'
info: `--'-------'
info: __---___--___---___--___---___--___
info: ____---___--___---___--___---___--___-__
info:
我认为使用 connect-pg 可能更好,但它需要太多的依赖,所以我一直使用简单版本。任何人都知道这个问题是什么?我在 Windows 上,这很奇怪,我的 PC 用户有问题...
或者也许有人有一些解决方案,可以将 PostgreSQL 用于用户等,而 Mongo 用于 session 。对于我测试过的 Passport 不允许这样做(用户可以注册但不能登录)
最佳答案
也许你可以修复这个错误打开 PostgreSQL 客户端身份验证配置文件:
/var/lib/pgsql/data/pg_hba.conf
和改变:
本地所有所有信任
托管所有 127.0.0.1/32 信任
保存并关闭文件。重启 Postgresql 服务器:
服务postgresql重启
关于postgresql - 使用 SailsJS 在 PostgreSQL 中连接 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34566417/