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: