Giao diện
@digiforce-nc/plugin-password-policy
Plugin chính sách mật khẩu — thiết lập quy tắc độ phức tạp, thời hạn hết hạn, lịch sử mật khẩu, và khóa tài khoản khi đăng nhập sai quá nhiều lần.
Plugin này làm gì?
Mật khẩu yếu là lỗ hổng phổ biến nhất. Plugin này cho phép admin định nghĩa chính sách mật khẩu toàn hệ thống: yêu cầu độ phức tạp, ngăn tái sử dụng mật khẩu cũ, bắt buộc đổi mật khẩu định kỳ, và tự động khóa tài khoản khi đăng nhập sai quá nhiều lần.
Tính năng chính
| # | Tính năng | Mô tả |
|---|---|---|
| 1 | Độ phức tạp | 6 mức: none, alpha_numeric, alpha_numeric_special, numbers_upper_lower, numbers_upper_lower_special, 3_of_4 |
| 2 | Độ dài | Tối thiểu 6–64 ký tự (cấu hình được) |
| 3 | Không chứa username | Ngăn mật khẩu chứa tên đăng nhập |
| 4 | Lịch sử mật khẩu | Ngăn tái sử dụng N mật khẩu gần nhất (tối đa 24) |
| 5 | Hết hạn mật khẩu | Bắt buộc đổi sau 30/90/180/365 ngày |
| 6 | Khóa tài khoản | Khóa sau 3/5/10 lần đăng nhập sai |
| 7 | Thông báo hết hạn | Gửi cảnh báo qua notification-manager khi còn ≤10 ngày |
Database
| Bảng | Mô tả |
|---|---|
passwordPolicy | Cấu hình chính sách (1 bản ghi duy nhất, field options kiểu JSONB) |
userPasswordHistory | Lịch sử password hash (userId, password, createdTs) — tối đa 24 bản ghi/user |
lockedUsers | Danh sách tài khoản bị khóa (userId, lockedTs, unlockTs, lockReason) |
API endpoints
| Endpoint | Mô tả | Quyền |
|---|---|---|
passwordPolicy:publicList | Lấy chính sách cơ bản (minLength, complexity, cantIncludeUsername) | Public |
passwordPolicy:* | Quản lý chính sách (CRUD) | Admin |
lockedUsers:* | Quản lý tài khoản bị khóa | Admin |
Dependencies
| Package | Vai trò |
|---|---|
@digiforce-nc/server | Server framework |
@digiforce-nc/database | Database ORM |
@digiforce-nc/client | Client UI framework |
@digiforce-nc/cache | BloomFilter + Counter cho lockout |
@digiforce-nc/plugin-auth | Hook vào luồng sign-in |
@digiforce-nc/plugin-notification-manager | Gửi cảnh báo hết hạn mật khẩu |
@digiforce-nc/plugin-users | Quản lý user |