Files
pp-tcms/backend/package.json
LittleYellow 1c977f9266 feat: add LDAP authentication settings and toggle
Add an admin-only LDAP configuration UI with an enable toggle and full
sign-in integration.

Backend:
- ldapSettings model + migration (single-row config)
- GET/PUT/test routes under /ldap (admin-gated; bind password masked)
- shared ldapClient with RFC 4515 filter escaping and empty-password guard
- signin tries local auth first, then LDAP when enabled (find-or-create
  local user) so the bootstrap admin is never locked out

Frontend:
- LDAP settings page (Switch + form + test connection) under /admin/ldap
- AdminNav tabs between user management and LDAP
- ldapControl util, types, and Ldap i18n namespace for all 6 locales

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 07:20:08 +08:00

31 lines
761 B
JSON

{
"name": "unittcms-backend",
"version": "1.0.0",
"private": true,
"type": "module",
"scripts": {
"start": "node --env-file=.env index",
"dev": "node index",
"migrate": "sequelize db:migrate",
"seed": "sequelize db:seed:all",
"drop": "sequelize db:migrate:undo:all"
},
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^5.1.1",
"cors": "^2.8.5",
"express": "^4.21.0",
"express-rate-limit": "^7.4.1",
"jsonwebtoken": "^9.0.2",
"ldapts": "^8.1.8",
"multer": "^1.4.5-lts.1",
"papaparse": "^5.5.2",
"sequelize": "^6.37.7",
"sequelize-cli": "^6.6.3",
"sqlite3": "^5.1.7",
"xlsx": "https://cdn.sheetjs.com/xlsx-0.20.3/xlsx-0.20.3.tgz",
"xmlbuilder2": "^3.1.1"
}
}