Я работаю над системой центрального входа в систему для приложения, написанного на Django, с вики-страницей MediaWiki и средством отслеживания ошибок Roundup. В настоящее время метод, который я собираюсь использовать, состоит в том, чтобы использовать расширение AuthDjango для Mediawiki (https://bitbucket.org/toml/django-mediawiki-authentication/src) и взломать что-то похожее для Roundup. Этот метод основан на создании модели SessionProfile в Django, которая отображает идентификаторы сеансов (взятые из файлы cookie) для пользовательских экземпляров, а MediaWiki / Roundup получает доступ к данным, напрямую запрашивая базу данных Django.
Преимущество этого состоит в том, что процессы входа в систему, сеанса и выхода из системы во всех трех приложениях легко объединяются. Однако проблема, с которой я столкнулся, заключается в том, что в MediaWiki / Roundup хранятся учетные данные для базы данных Django, а требования для получения доступа к учетным записям оболочки MediaWiki или Roundup намеренно менее строгие, чем для основного приложения Django (в настоящее время только один человек). имеет доступ к продукции Django). Таким образом, администраторы экземпляра MediaWiki / Roundup (т. Е. С доступом к оболочке) или любой, кто проник в систему с помощью удаленного эксплойта, потенциально могут взломать учетные записи пользователей на основном сайте.
Итак, мой вопрос: кто-нибудь знает, как лучше интегрировать механизмы входа в систему этих систем? Или как я мог бы предоставить MediaWiki / Roundup безопасный доступ к базе данных Django, сводя к минимуму вероятность злоупотреблений со стороны людей, имеющих доступ к оболочке MediaWiki?