Connect session in PostgreSQL with SailsJS

若如初见. 提交于 2019-12-11 14:03:32

问题


I have a personal project in SailsJS, Passport-Local and PostgreSQL. I managed to get connection and save users in PostgreSQL DB. But I have big problem with session storing. From what I know SailsJS is using Connect to get it done.

Previous working code for 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'
}

My (working) connection to PostgreSQL:

connections: {
    somePostgresqlServer: {
      adapter: 'sails-postgresql',
      host: 'localhost',
      port: 5432,
      user: 'postgres',
      password: 'Password1',
      database: 'sails-auth'
    }
},

And the code I have problem with:

session: {
    adapter: 'connect-pg-simple',
    host: 'localhost',
    port: 5432,
    user: 'postgres',
    password: 'Password1',
    db: 'sails-auth'
}

I've installed connect-pg-simple, executed SQL code but when I am starting sails app I get an error:

$ 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:

I thought that it may be beetter to use connect-pg, but it requires so many dependecy that I stayed with simple version. Anyone know what this problem is about? Im on windows so its weird that it have problem with my PC User...

Or maybe someone have some solution for using PostgreSQL for users, etc and Mongo for sessions. For what I've tested Passport doesnt allow to do that (user can sign up but can't sign in)


回答1:


Perhaps you can fix this error open PostgreSQL client authentication configuration file: /var/lib/pgsql/data/pg_hba.conf

and change:

local all all trust

host all 127.0.0.1/32 trust

Save and close the file. Restart Postgresql server:

service postgresql restart




回答2:


I used for that sails-pg-session. The information about sessions must be stored in config/session.js:

adapter: 'sails-pg-session',
database: 'dbname',
  host: 'localhost',
  user: 'dbuser',
  password: 'dbpasswd',
  port: 5432

Hope it helps



来源:https://stackoverflow.com/questions/34566417/connect-session-in-postgresql-with-sailsjs

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!