Я следил за большинством руководств на веб-сайте luminusweb.net, настраивая систему баз данных, используя новое приложение + h2. То, что я в настоящее время отражает настройку гостевой книги, как показано в уроке. Теперь мне интересно, как я могу получить доступ к определенным записям в таблице миграции. В частности, я пытаюсь ограничить доступ к веб-страницам (системе входа) на основе записей внутри таблицы.Доступ к базе данных Luminus
ответ
Цель файла миграции - создать таблицы в вашей базе данных. Чтобы получить доступ к этим таблицам, вам нужно будет написать запросы в файле, расположенном здесь: 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 "[email protected]"})
будет возвращать ленивую последовательность вроде этого:
[{"account_name":"account1","admin":false},
{"account_name":"account2","admin":true},
{"account_name":"account2","admin":true}]
Тогда, если вы хотите ограничить доступ к конкретную страницу, основанную на том, что находится в вашей базе данных, есть несколько вариантов. Buddy auth library предлагает несколько вариантов, самый простой в использовании - сеансовый. Во-первых, когда пользователь вводит правильный пароль, вы вводите свой идентификатор в: session: identity в любом запросе. Например
(-> (redirect "/accounts-list")
(assoc :session {:identity "[email protected]"}))
Параметр идентичности будет в каждом запросе, пока сеанс не умирает (30 минут по умолчанию) или перезаписать. На ваших страницах вы можете проверить buddy.auth/authenticated?
на запросы и перенаправить на страницу с ошибкой или что угодно, если она вернет false. В настоящее время я пишу учебник для webapps с использованием Luminus, я обновлю этот ответ, когда он будет доступен.
- 1. Доступ к базе данных
- 2. Доступ к базе данных truecaller
- 3. Доступ к базе данных Azure
- 4. Доступ к базе данных удаленно
- 5. Доступ к базе данных WORDNET
- 6. Прямой доступ к базе данных
- 7. Async доступ к базе данных
- 8. PhpStorm Доступ к базе данных
- 9. Доступ к базе данных Query
- 10. Доступ к базе данных оракула
- 11. OpenERP доступ к базе данных
- 12. Депозит Доступ к базе данных
- 13. Django: доступ к базе данных
- 14. Доступ к базе данных WordPress
- 15. Доступ к базе данных MySQL
- 16. Доступ к базе данных поврежден?
- 17. Доступ к базе данных Joomla
- 18. Доступ к базе данных CakePHP
- 19. Доступ к базе данных ADO.NET
- 20. Доступ к базе данных Java
- 21. Удаленный доступ к базе данных
- 22. Доступ к базе данных Autobackup
- 23. Arangodb Доступ к базе данных Коллекция в базе данных B
- 24. Доступ к базе данных MySQL Каждый доступ к странице
- 25. Доступ к базе данных Доступ к VS-доступу
- 26. доступ к базе данных из приложения
- 27. undo дает пользователю доступ к базе данных
- 28. Доступ к базе данных в Drupal
- 29. Доступ к базе данных mysql онлайн android
- 30. доступ к базе данных и asp.net mvc