Разрешение django на основе членства в группах AD

Я пытаюсь предоставить доступ к определенным URL и ссылкам меню в файле base.html на основе групп AD, к которым принадлежат аутентифицированные пользователи. Экземпляр AD довольно большой, но он также включает глубоко вложенные группы AD, поэтому запрос к серверу AD для каждого HTTP запроса является дорогостоящим.

Решением, о котором я думаю в данный момент, является написание пользовательского промежуточного ПО, которое запрашивает AD сервер при первом доступе пользователя к приложению, я запрашиваю AD сервер один раз, получаю все уровни доступа, которые они должны иметь и сохраняю эту информацию в сессии, затем, когда они делают другой запрос, я сначала проверяю значения сессии, если я уже установил разрешения для этого конкретного пользователя, это должно избежать запроса AD сервера каждый раз.

Учитывая эти критерии, существуют ли какие-либо собственные классы/техника авторизации django, способные обрабатывать такого рода привилегии доступа?

Вернуться на верх