私はMediaWiki wikiとRoundup bugtrackerを使って、Djangoで書かれたアプリケーションのセントラルログインシステムに取り組んでいます。現在、私が考えている方法は、Mediawiki(https://bitbucket.org/toml/django-mediawiki-authentication/src)のAuthDjango拡張機能を使って、Roundupと同様のものをハックアップすることです。このメソッドは、セッションID(Cookieから取得)をUserインスタンスにマップするDjangoのSessionProfileモデルの作成に依存し、MediaWiki/RoundupはDjangoデータベースに直接問い合わせてデータにアクセスします。Django、MediaWiki、Roundupのユーザのデータを侵害することなくセントラルログインできますか?
この利点は、3つのアプリケーションすべてのログイン、セッション、およびログアウトプロセスが簡単に統合されることです。しかし、私が持っている問題は、MediaWiki/RoundupがDjangoデータベースの資格情報を保存していることに依存しており、MediaWikiまたはRoundupシェルアカウントにアクセスするための要件は、主なDjangoアプリケーションの場合よりも厳しく制限されています(現在のところ、 Djangoのプロダクションアクセス権を持っています)。そのため、MediaWiki/Roundupインスタンスの管理者(つまりシェルアクセス権を持つ)、またはリモートエクスプロイトで侵入した人は、メインサイトのユーザーアカウントをハイジャックする可能性があります。
私の質問です:これらのシステムのログインメカニズムを統合するより良い方法を知っている人はいますか?またはMediaWikiシェルにアクセスする人の虐待の可能性を最小限に抑えながらMediaWiki/RoundupにDjangoデータベースへの安全なアクセスを与える方法を教えてください。
お返事ありがとうございます。私たちはログイン時にユーザをDjangoにリダイレクトする最後の提案に似ていますが、ユーザがログインしているかどうかを判断するために、直接DBアクセスルートを使用することにしましたが、厳格なアクセス許可が設定されています。その方法では、そのアカウントを通じてアクセスできる唯一のデータは、サイト上に公開されていたデータでした。 – pythonian4000