使用 Dancer2::Plugin::DBIC 从数据库中提取值
Using Dancer2::Plugin::DBIC to pull values from database
我有一个网络应用程序,用户可以在其中登录并查看包含一些数据的仪表板。我将 APIary 用于模拟数据,在我的 Postgres 数据库中,我的每个用户都有一个 ID。这些 ID 也用于包含相关信息的 APIary JSON 文件中。
我正在使用 REST::Client 和 JSON 进行连接,例如用户仪表板的 url 是:“/user/dashboard/12345”(在 Apiary 中)
在数据库中有一个 ID 为“12345”的用户。
如何才能在用户登录时使用他们的 ID 提取与他们相关的数据? (/user/dashboard/{id})?任何文件或建议将不胜感激!
Dancer2::Plugin::Auth::Extensible 的文档显示了您需要做的一部分工作。简而言之,将用户 ID 保存在 session 中。我在文档中获取了部分代码并添加了会话。
post '/login' => sub {
my ($success, $realm) = authenticate_user(
params->{username}, params->{password}
);
if ($success) {
# we are saving your user ID to the session here
session logged_in_user => params->{username};
session logged_in_user_realm => $realm;
} else {
# authentication failed
}
};
get '/dashboard' => sub {
my $client = REST::Client->new();
# ... and now we use the user ID from the session to get the
# from the webservice
$client->GET( $apiary . '/user/dashboard/' . session('logged_in_user') );
my $data = $client->responseContent();
# do stuff with $data
};
对于那些想知道我最后做了什么的人:
Dancer2::Plugin::Auth::Extensible 有
$user = logged_in_user();
当我打印这个时,它向我显示了用户在数据库中拥有的所有值的哈希值,包括我拥有的附加 ID。所以我用
访问了 id
my $user_id = $user->{user_id};
并在url的末尾附加了$user_id
!
我有一个网络应用程序,用户可以在其中登录并查看包含一些数据的仪表板。我将 APIary 用于模拟数据,在我的 Postgres 数据库中,我的每个用户都有一个 ID。这些 ID 也用于包含相关信息的 APIary JSON 文件中。
我正在使用 REST::Client 和 JSON 进行连接,例如用户仪表板的 url 是:“/user/dashboard/12345”(在 Apiary 中) 在数据库中有一个 ID 为“12345”的用户。
如何才能在用户登录时使用他们的 ID 提取与他们相关的数据? (/user/dashboard/{id})?任何文件或建议将不胜感激!
Dancer2::Plugin::Auth::Extensible 的文档显示了您需要做的一部分工作。简而言之,将用户 ID 保存在 session 中。我在文档中获取了部分代码并添加了会话。
post '/login' => sub {
my ($success, $realm) = authenticate_user(
params->{username}, params->{password}
);
if ($success) {
# we are saving your user ID to the session here
session logged_in_user => params->{username};
session logged_in_user_realm => $realm;
} else {
# authentication failed
}
};
get '/dashboard' => sub {
my $client = REST::Client->new();
# ... and now we use the user ID from the session to get the
# from the webservice
$client->GET( $apiary . '/user/dashboard/' . session('logged_in_user') );
my $data = $client->responseContent();
# do stuff with $data
};
对于那些想知道我最后做了什么的人:
Dancer2::Plugin::Auth::Extensible 有
$user = logged_in_user();
当我打印这个时,它向我显示了用户在数据库中拥有的所有值的哈希值,包括我拥有的附加 ID。所以我用
访问了 idmy $user_id = $user->{user_id};
并在url的末尾附加了$user_id
!