Simple Authentication System

Write a Python program that simulates a simple authentication system. Raise custom exceptions for various scenarios like user not found, incorrect password, account locked, etc.

Example 1:

Input: Users: {"user1": {"password": "pass1", "locked": False}, "user2": {"password": "pass2", "locked": True}}, Username: "user1", Password: "pass1" 
Output: "Authentication successful."

Example 2:

Input: Users: {"user1": {"password": "pass1", "locked": False}, "user2": {"password": "pass2", "locked": True}}, Username: "user1", Password: "wrongpass" 
Output: "Error: Incorrect password."

Use a dictionary to store the users and their information.

def authenticate(users, username, password):
    if username not in users:
        raise Exception("Error: User not found.")
    elif users[username]["locked"]:
        raise Exception("Error: Account locked.")
    elif users[username]["password"] != password:
        raise Exception("Error: Incorrect password.")
    else:
        return "Authentication successful."

users = {"user1": {"password": "pass1", "locked": False}, "user2": {"password": "pass2", "locked": True}}
print(authenticate(users, "user1", "pass1"))  # Output: "Authentication successful."
print(authenticate(users, "user1", "wrongpass"))  # Output: "Error: Incorrect password."

 

© Let’s Data Science

LOGIN

Unlock AI & Data Science treasures. Log in!