0

bugzilla (perl ベース) システムには、http サーバー環境変数を使用して自動的にログインする機能があります。正しい ID またはユーザー名を入力すると、自動的にログインされます。

私のサーバーは Joomla (PHP ベース) を実行しており、ログインしているユーザーに関するすべての情報を保持しています。サブフレーム内で bugzilla を実行しています。

では、PHP スクリプトからこの環境値を設定するにはどうすればよいでしょうか?

別の言い方をすれば、次のスクリプトは、PHP からのセッションの別の場所で、自分が設定した変数をどのように返すのでしょうか。

#!/usr/bin/perl -wT
print "Content-type: text/html\n\n";
while (($key, $val) = each %ENV) {
        print "$key = $val<BR>\n";
}
4

2 に答える 2

0

これは単なる推測ですが、(Apache2を使用していると仮定して)を使用して環境変数を設定できますapache_setenv()。ただし、これは現在のhttpリクエストの存続期間中のみ続くため、どのように機能させるかはわかりません。ブラウザフレームからのbugzillaページのリクエストは、Apacheによって完全に分離されていると見なされます。を使用virtual()してBugzillaへのサブリクエストを呼び出すことができる場合があります。これにより、その環境変数を確認できるようになります。Bugzillaページのリクエストごとにそれを行う必要があるのか​​、それともログインを開始するリクエストだけで行う必要があるのか​​はわかりません。

ポイントを逃したり、これが非常に間違っている場合は申し訳ありません

于 2008-12-04T13:48:42.983 に答える
0

Bugzilla でセッションを作成するために何をする必要があるかはわかりませんが、Joomla! の最後で何が必要かはわかっています: onLoginUser イベントに応答するユーザー プラグインを作成する必要があります。この動作の例については、plugins/user/joomla.php の onLoginUser 関数を見てください。

(注、これは Joomla! 1.5 専用です)

于 2008-12-04T14:34:07.150 に答える