gpt4 book ai didi

database - Luminus 数据库访问

转载 作者:搜寻专家 更新时间:2023-10-30 20:26:38 24 4
gpt4 key购买 nike

我遵循了 luminusweb.net 网站上的大部分教程,使用 +h2 新应用程序设置了数据库系统。我目前拥有的内容反射(reflect)了教程中显示的留言簿设置。我现在想知道如何访问迁移表中的特定条目。更具体地说,我试图根据表内的条目限制对网页(登录系统)的访问。

最佳答案

迁移文件的目的是在您的数据库中创建表。要访问这些表,您必须在位于此处的文件中编写查询:your_project > resources > sql > queries.sql

这里你应该写查询,在Luminus website上有几个例子.当您看到带有分号的参数时,这意味着您在程序中调用这些查询时必须传递带有这些参数的映射。例如:如果您有此查询:

-- name: accounts_for_user
-- retrieve all accounts a user has access to and the associated rights
SELECT account_name, admin
FROM accounts_users
WHERE email = :email;

电话:

(db/accounts_for_user {:email "laurent@test.com"})

将返回一个像这样的惰性序列:

[{"account_name":"account1","admin":false},
{"account_name":"account2","admin":true},
{"account_name":"account2","admin":true}]

然后,如果您想根据数据库中的内容限制对特定页面的访问,有几个选项。 Buddy auth library提供了一些选项,最容易使用的是 session 选项。首先,当用户输入正确的密码时,您会在任何请求的 :session :identity 中注入(inject)他们的标识符。例如

(-> (redirect "/accounts-list")
(assoc :session {:identity "user@test.com"}))

身份参数将出现在每个请求中,直到 session 终止(默认为 30 分钟)或您覆盖它。在您的页面中,您可以针对请求测试 buddy.auth/authenticated?,如果返回 false,则重定向到错误页面或任何您喜欢的内容。我目前正在使用 Luminus 为 webapps 编写教程,我会在可用时更新此答案。

关于database - Luminus 数据库访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30786241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com