/
LillitHuMi
/
web-nodejs
Обзор
Документация
Войти
/
LillitHuMi
/
web-nodejs
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
backend/lab11.sql
35 строк
1 KB
LillitHuMi
mb nice
08 май 2026, 00:32
08 май 2026, 00:32
dae8d4b
Код
Авторство
О чём код?
-- ============================================= -- Лабораторная 11: Аутентификация и авторизация -- ============================================= -- 1. Создаём схему CREATE SCHEMA IF NOT EXISTS lab11; -- 2. Таблица ролей CREATE TABLE IF NOT EXISTS lab11.roles ( id SERIAL PRIMARY KEY, name VARCHAR(50) UNIQUE NOT NULL ); -- 3. Таблица пользователей CREATE TABLE IF NOT EXISTS lab11.users ( id SERIAL PRIMARY KEY, login VARCHAR(100) UNIQUE NOT NULL, password_hash TEXT NOT NULL, role_id INTEGER NOT NULL REFERENCES lab11.roles(id), created_at TIMESTAMP DEFAULT NOW() ); -- 4. Вставляем роли (если ещё нет) INSERT INTO lab11.roles (name) VALUES ('user') ON CONFLICT (name) DO NOTHING; INSERT INTO lab11.roles (name) VALUES ('admin') ON CONFLICT (name) DO NOTHING; -- 5. Создаём администратора по умолчанию (пароль: admin1234) -- Хеш bcrypt для 'admin1234' с rounds=10 INSERT INTO lab11.users (login, password_hash, role_id) VALUES ( 'admin', '$2b$10$3d7g5e6f8h0j2k4m6n8p0q2r4s6t8u0v2w4x6y8z0A2B4C6D8E0F', (SELECT id FROM lab11.roles WHERE name = 'admin') ) ON CONFLICT (login) DO NOTHING;