added logging system
This commit is contained in:
@@ -1,13 +1,28 @@
|
||||
from models.database import Database
|
||||
from models.user import User
|
||||
from services.log import LogService
|
||||
|
||||
class Auth:
|
||||
failed_attempts = 0
|
||||
|
||||
@staticmethod
|
||||
def check_auth(username, password):
|
||||
if username == "superadmin" and password == "Admin321!":
|
||||
su_user = User(None, -1, "superadmin", "", "", "", "", "", "", "", "", "SUPER_ADMIN")
|
||||
LogService.create_log(username, "Logged in", "", False)
|
||||
Auth.failed_attempts = 0
|
||||
return su_user
|
||||
|
||||
user = User(Database.connection, None, username)
|
||||
if user.load_by_username() and user.password == password:
|
||||
LogService.create_log(username, "Logged in", "", False)
|
||||
Auth.failed_attempts = 0
|
||||
return user
|
||||
|
||||
if Auth.failed_attempts >= 3:
|
||||
LogService.create_log(username, "Multiple unsuccessful logins", "", True)
|
||||
else:
|
||||
LogService.create_log(username, "Unsuccessful login", f"Attempts: {Auth.failed_attempts}", False)
|
||||
|
||||
Auth.failed_attempts += 1
|
||||
return None
|
Reference in New Issue
Block a user