LDAP auto-provision: user cree DESACTIVE par defaut + role viewer (admin doit l'activer)
This commit is contained in:
parent
53d4f71607
commit
f013aaaab6
@ -47,17 +47,17 @@ async def login(request: Request, username: str = Form(...), password: str = For
|
|||||||
log_login_failed(db, request, username)
|
log_login_failed(db, request, username)
|
||||||
db.commit()
|
db.commit()
|
||||||
return err_template(result.get("msg") or "Authentification LDAP echouee")
|
return err_template(result.get("msg") or "Authentification LDAP echouee")
|
||||||
# Cree l'user en local avec role par defaut
|
# Cree l'user DESACTIVE + sans permissions. Admin doit l'activer + permissionner.
|
||||||
default_role = result.get("default_role", "operator")
|
default_role = result.get("default_role", "viewer")
|
||||||
db.execute(text("""
|
db.execute(text("""
|
||||||
INSERT INTO users (username, email, full_name, role, is_active, auth_type, password_hash)
|
INSERT INTO users (username, email, full_name, role, is_active, auth_type, password_hash)
|
||||||
VALUES (:u, :e, :n, :r, true, 'ldap', '')
|
VALUES (:u, :e, :n, :r, false, 'ldap', '')
|
||||||
"""), {"u": username, "e": result.get("email", ""),
|
"""), {"u": username, "e": result.get("email", ""),
|
||||||
"n": result.get("name", username), "r": default_role})
|
"n": result.get("name", username), "r": default_role})
|
||||||
db.commit()
|
db.commit()
|
||||||
row = db.execute(text("SELECT id, username, password_hash, role, is_active, auth_type FROM users WHERE LOWER(username)=LOWER(:u)"),
|
log_login_failed(db, request, username) # trace de l'auto-creation
|
||||||
{"u": username}).fetchone()
|
db.commit()
|
||||||
ok = True
|
return err_template("Compte cree mais en attente d'activation par un administrateur")
|
||||||
elif not row:
|
elif not row:
|
||||||
log_login_failed(db, request, username)
|
log_login_failed(db, request, username)
|
||||||
db.commit()
|
db.commit()
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user