Он предоставляет декоратор @login_required, который используется для ограничения просмотра только для пользователей, прошедших проверку подлинности AD. Оформленная функция просмотра должна принимать дополнительный контекст параметра, который содержит информацию AD.
Я написал собственный декоратор, который создает объект пользователя Django, используя информацию AD, предоставленную идентификатором. контекст.
Код: Выделить всё
def custom_login_required(f):
@wraps(f)
@settings.AUTH.login_required
def wrapped(request, context=None, *args, **kwargs):
if context:
request.user = get_ad_synced_user(context)
return f(request, context=context, *args, **kwargs)
return wrapped
@custom_login_required
def home(request, *, context):
return render(request, 'home.html')
Код: Выделить всё
{% if user.is_authenticated %}
Welcome, {{ user.username }}!
{% endif %}
Используя объект пользователя Django, я могу доступ к request.user.is_authenticated, но поскольку идентификатор создает отдельный контекст объекта (который получает информацию AD только при украшении @login_required), я не уверен, как я могу установить request.user для текущего запроса из предыдущего запроса.
Подробнее здесь: https://stackoverflow.com/questions/791 ... auth-users
Мобильная версия