[英]Dancer2 app with PostgreSQL database
我正在嘗試在Dancer2中集成一個小的PostgreSQL數據庫。...部署架構后,我在app.pm文件中使用了該數據庫以連接到架構:
my $schema = My::Schema->connect("dbi:Pg:dbname=mytestdb;host=localhost;port=5432;","test","test");
當我啟動我的應用程序時,我可以使用以下請求創建一個新用戶(已插入數據庫):
post '/register' => sub {
my $username = params->{username};
my $fullname = params->{fullname};
my $password = params->{password};
warn "The pass is |$password|\n";
my $saved_pass = &crypt_password($password);
$schema->resultset('User')->create({
username => $username,
fullname => $fullname,
password => $saved_pass,
});
redirect '/';
};
但是當我嘗試使用此登錄時:
post '/login' => sub {
my $username = params->{username};
my $password = params->{password};
my $user = $schema->resultset('User')->search({ username => $username })->first;
my ($success, $realm) = authenticate_user(
$username, $password
);
if ($success) {
session logged_in_user => $success;
session logged_in_user_realm => $realm;
session user => $user;
} else {
authentication failed
}
};
我的應用程序因以下錯誤DBIx::Class::Storage::DBI::catch {...} (): DBI Connection failed: DBI connect('dbname=mytestdb','test',...) failed: FATAL: Peer authentication failed for user "test"
: DBIx::Class::Storage::DBI::catch {...} (): DBI Connection failed: DBI connect('dbname=mytestdb','test',...) failed: FATAL: Peer authentication failed for user "test"
。
我通過添加以下行在/etc/postgresql/9.3/main/pg_hba.conf中編輯了pg_hba.conf文件:
# IPv4 local connections:
host all all 127.0.0.1/32 md5
local all all trust
經過這些修改,我的應用程序登錄了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.