pip install beaker import beaker beaker.options['session.type'] = 'file' beaker.options['session.data_dir'] = './data' beaker.options['session.timeout'] = 3600 python class User: def __init__(self, id, username, password, role): self.id = id self.username = username self.password = password self.role = role python class UserStore: def __init__(self): self.users = [] def create_user(self, username, password, role): user_id = generate_unique_id() user = User(user_id, username, password, role) self.users.append(user) def get_user(self, username): for user in self.users: if user.username == username: return user return None def validate_user(self, username, password): user = self.get_user(username) if user and user.password == password: return user return None python session = beaker.Session() def login(username, password): user = user_store.validate_user(username, password) if user: session['username'] = username session.save() return True else: return False python def authenticate(): if 'username' in session: username = session['username'] user = user_store.get_user(username) if user: return True return False python class User: def __init__(self, id, username, password, role): self.id = id self.username = username self.password = password self.role = role python def has_permission(role): if 'username' in session: username = session['username'] user = user_store.get_user(username) if user and user.role == role: return True return False python import beaker class User: def __init__(self, id, username, password, role): self.id = id self.username = username self.password = password self.role = role class UserStore: def __init__(self): self.users = [] def create_user(self, username, password, role): user_id = generate_unique_id() user = User(user_id, username, password, role) self.users.append(user) def get_user(self, username): for user in self.users: if user.username == username: return user return None def validate_user(self, username, password): user = self.get_user(username) if user and user.password == password: return user return None def login(username, password): user = user_store.validate_user(username, password) if user: session['username'] = username session.save() return True else: return False def authenticate(): if 'username' in session: username = session['username'] user = user_store.get_user(username) if user: return True return False def has_permission(role): if 'username' in session: username = session['username'] user = user_store.get_user(username) if user and user.role == role: return True return False beaker.options['session.type'] = 'file' beaker.options['session.data_dir'] = './data' beaker.options['session.timeout'] = 3600 session = beaker.Session() user_store = UserStore() if login('admin', '123456'): if authenticate(): if has_permission('admin'): else: else: else:


上一篇:
下一篇:
切换中文