5

2 つの異なるドメインを持つ 2 つの異なるサーバーで 2 つの異なるサイトを実行しています。一方のサイトでは Joomla を実行し、もう一方のサイトでは Moodle を実行しています。Joomla サイトのユーザー テーブルに基づいて認証を行うように Moodle サーバーを構成したので、ユーザー情報の信頼できる情報源が得られます。

私がやりたいことは次のとおりです: 誰かが Joomla サイトにサインインした後、Moodle サイトへのリンクを提供します。Moodle サイトは黙ってログインし、シングル サインオン ソリューションを偽装します。Joomla のパスワードは MD5 化されており、それぞれに独自のシークレット ソルトがあります。

これに対処する方法として最初に考えたのは、パスワードがプレーンテキストで保存されていることを Moodle に伝え、リンクをクリックしたときに非表示のフォーム入力を介して暗号化されたパスワードを送信することでした。それに関する明らかなセキュリティ上の問題は別として、Moodle インターフェイス経由でログインしようとすると、巨大な MD5 文字列を入力する必要があることも意味していました。

Moodle の認証モジュールを変更して、送信されたパスワードが特定の基準 (例: 16 進数の 32 文字) に一致する場合、Joomla バージョンと比較する前に MD5 を実行しないようにすることを検討してきました。 (暗号化されたパスワードを発見したら)それを使用してログインします。必要なのは、暗号化されたパスワードをJoomlaからMoodleに送信し、そのログイン要求を別の方法で処理するようにMoodleに通知する特別な方法です。

何かご意見は?

4

3 に答える 3

4

安全なシングル サイン ワン ソリューションでは、次のことができます。

  • Joomlaユーザーに基づいて(PRNGを使用して)ランダムなトークンを生成します(これを保存します)
  • このトークンを内部的に (Web サービスなどを介して、-HTTPS 経由で保持する-、またはローカル データ ソースを介して) Moodle に送信します。
  • このトークンを送信する際にも、トークンが属しているユーザー ID について Moodle に通知する必要があります (したがって、トークン + ユーザー ID を送信します)。
  • このトークン + ユーザー ID を Moodle に保存します
  • このトークンを使用して Joomla でこのトークンとのリンクを作成します (最初の使用後にトークンを期限切れにするとすぐにクエリ文字列を使用できますが、POST を使用することをお勧めします)
  • Moodle でこのトークンが表示されたら、関連付けられているユーザーをログインしてトークンを失効させます (応答攻撃などに対して安全になります)。
于 2008-12-09T09:52:52.737 に答える
1

Pro Moodle(http://www.promoodle.com/)またはJFusion(http://www.jfusion.org/)を使用して、Joomla/Moodleシステムのシングルサインオンシステムを作成できますか。

ここにガイドもあります:http://myjoomlaextensions.com/images/fbfiles/files/MoodleBridge.pdf「MoodleとJoomlaの間の架け橋」。

ここにシングルサインオンシステムを作成するためにMoodleコードを変更するためのガイドがあります:http: //moodle.org/mod/forum/discuss.php?d = 45126#211486(注意して使用してください!)。

これらのソリューションを異なるドメイン間で使用しようとすると、マイレージが異なる場合があります。

于 2009-05-02T15:03:52.957 に答える
0

Joomla! を使用している場合 1.5、ユーザー プラグインを忘れないでください。plugins/user/example.php を見てください。システムをブリッジするのに役立つ可能性がある onLoginUser イベント中にパスワードを取得できます。

于 2008-12-09T14:32:14.467 に答える