Ajout contraintes

This commit is contained in:
2026-08-31 16:57:49 +02:00
parent 2acccb2574
commit 4dc62bcb25
2 changed files with 21 additions and 5 deletions
+9 -3
View File
@@ -1,6 +1,6 @@
from datetime import datetime
from flask import Flask, Blueprint, flash, render_template, request, url_for
import ldap, ldap.filter, os
import ldap, ldap.filter, os, re
from app.exceptions import LoginNotFoundException, MultipleUsersFoundForLoginException
from flask_migrate import Migrate
from flask_mail import Mail, Message
@@ -11,6 +11,10 @@ load_dotenv()
f_app = Flask(__name__)
f_app.secret_key = os.getenv("SECRET_KEY")
PASSWORD_PATTERN = re.compile(
r"""[A-Za-z0-9@#$%^&*\-_=+\[\]{}|\\:',.?/`~"();<> ]{5,255}"""
)
bp = Blueprint('mdp', __name__)
f_app.config["SQLALCHEMY_DATABASE_URI"] = os.getenv("DATABASE_URI")
@@ -114,7 +118,9 @@ def password_reset_form(token: str = None):
if not newpassword:
error = "Le champ 'mot de passe' ne peut pas être vide."
elif not PASSWORD_PATTERN.fullmatch(newpassword):
error = "Le mot de passe ne respecte pas les contraintes."
if error is not None:
flash(error)
return render_template('pages/password_reset_form.html.j2')
@@ -193,4 +199,4 @@ def ldap_set_password(user_dn: str, newpassword: str):
conn.modify_s(user_dn, [(ldap.MOD_REPLACE, 'unicodePwd', ['"{0}"'.format(newpassword).encode('utf-16-le')])])
f_app.register_blueprint(bp)
f_app.register_blueprint(bp)