Files
sqlpage--sqlpage/examples/CRUD - Authentication/www/login.sql
T
wehub-resource-sync d718c5a372
CI / compile_and_lint (push) Failing after 0s
CI / docker_build (linux/amd64, -linux-amd64-duckdb, duckdb) (push) Failing after 0s
CI / docker_build (linux/arm64, -linux-arm64, minimal) (push) Failing after 2s
CI / docker_build (linux/arm64, -linux-arm64-duckdb, duckdb) (push) Failing after 1s
CI / docker_build (linux/amd64, minimal) (push) Failing after 1s
CI / test (, sqlite, sqlite::memory:) (push) Has been skipped
CI / test (mssql, mssql, mssql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (mysql, mysql, mysql://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / test (oracle, oracle, Driver=Oracle 21 ODBC driver;Dbq=//127.0.0.1:1521/FREEPDB1;Uid=root;Pwd=Password123!) (push) Has been skipped
CI / test (postgres, odbc, Driver=PostgreSQL Unicode;Server=127.0.0.1;Port=5432;Database=sqlpage;UID=root;PWD=Password123!, true) (push) Has been skipped
CI / test (postgres, postgres, postgres://root:Password123!@127.0.0.1/sqlpage) (push) Has been skipped
CI / playwright (push) Has been skipped
CI / docker_build (linux/arm/v7, -linux-arm-v7, minimal) (push) Failing after 0s
CI / hurl_examples (push) Failing after 8s
deploy website / deploy_official_site (push) Failing after 1s
CI / hurl (${{ matrix.example }}) (push) Has been skipped
CI / docker_push (duckdb) (push) Has been cancelled
CI / docker_push (minimal) (push) Has been cancelled
CI / windows_test (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 12:31:57 +08:00

48 lines
1.4 KiB
SQL

-- Authentication Fence
set username = (
SELECT username
FROM sessions
WHERE sqlpage.cookie('session_token') = id
AND created_at > datetime('now', '-1 day') -- require the user to log in again after 1 day
);
SELECT
'redirect' AS component,
'/' AS link -- redirect to the front page if the user is logged in
WHERE $username IS NOT NULL;
-- =============================================================================
SELECT
'shell' AS component,
'CRUD with Authentication' AS title,
'database' AS icon;
-- =============================================================================
-- ================================= Login =====================================
-- =============================================================================
SELECT
'form' AS component,
'Login' AS title,
'create_session.sql' || ifnull('?path=' || $path, '') AS action;
-- Define form fields
SELECT
column1 AS name, column2 AS label,
column3 AS type, column4 AS required
FROM (VALUES
('username', 'Username', 'text', TRUE),
('password', 'Password', 'password', TRUE)
);
-- Show alert on failed authentication.
SELECT
'alert' AS component,
'danger' AS color,
'You are not logged in' AS title,
'Sorry, we could not log you in. Please try again.' AS description
WHERE $error IS NOT NULL;