На вас возложили задачу по созданию и поддержке специализированного сайта-форума. Вы только начали выполнять задачу и сейчас остановились на реализации действий, которые могут совершать посетители форума. И конечно же, для разных пользователей прописаны разные возможности.
Напишите декоратор check_permission, который проверяет, есть ли у пользователя доступ к вызываемой функции, и если нет, то выдаёт исключение PermissionError.
Пример кода:
user_permissions = ['admin']
@check_permission('admin')
def delete_site():
print('Удаляем сайт')
@check_permission('user_1')
def add_comment():
print('Добавляем комментарий')
delete_site()
add_comment()
Результат:
Удаляем сайт
PermissionError: У пользователя недостаточно прав, чтобы выполнить функцию add_comment
Решение:
Решение можно скачать с Boosty.to
Как можно отблагодарить:
- Оформить удобную для вас подписку на Boosty.to
- Разово поддержать через DonationAlerts
106000login-checkМодуль 29. Задача 1. Права доступа
