You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
1.3 KiB
41 lines
1.3 KiB
class User:
|
|
def __init__(self, username, password, role='user'):
|
|
self.username = username
|
|
self.password = password
|
|
self.role = role
|
|
|
|
class UserManagementSystem:
|
|
def __init__(self):
|
|
self.users = []
|
|
|
|
def register_user(self, username, password):
|
|
for user in self.users:
|
|
if user.username == username:
|
|
print("Username already exists. Please choose a different username.")
|
|
return
|
|
new_user = User(username, password)
|
|
self.users.append(new_user)
|
|
print("User registered successfully.")
|
|
|
|
def login(self, username, password):
|
|
for user in self.users:
|
|
if user.username == username and user.password == password:
|
|
print("Login successful. Welcome, " + username)
|
|
return
|
|
print("Invalid username or password. Please try again.")
|
|
|
|
def assign_role(self, username, role):
|
|
for user in self.users:
|
|
if user.username == username:
|
|
user.role = role
|
|
print("Role assigned successfully.")
|
|
return
|
|
print("User not found.")
|
|
|
|
# Example usage
|
|
ums = UserManagementSystem()
|
|
ums.register_user("admin", "admin123")
|
|
ums.register_user("user1", "password123")
|
|
ums.login("admin", "admin123")
|
|
ums.login("user1", "password123")
|
|
ums.assign_role("user1", "admin") |