fml8 では、 コマンドメール、 makefml そして CGI が使うモジュールは共有されています。 ただし、 その権限の差異によって、 一般ユーザ用のモジュールと管理者用のモジュールの2つに大きく分かれています。 以下、これらのモジュール群の構成について解説します。
FML::Command:: クラスは以下のような構成になっています。
FML::Command FML::Command クラス以下への入口、dispatcher FML::Command::User ユーザ用コマンド群 FML::Command::Admin 管理者用コマンド群たとえば、(コマンドメールでの)ユーザ用コマンドの場合 FML::Command を経由して FML::Command::User::コマンド モジュールを呼び出しています。
FML::Process::Command から FML::Command 経由で 「FML::Command::User::コマンド」 を呼び出しています。
最終的に 「FML::Command::Admin::コマンド」 を使うモジュールもあります。 たとえば登録と削除の実作業は 「FML::Command::Admin::コマンド」 にあるコードが行なっています。 すべてのプログラムで登録/削除作業の実体部分を共有するためです。 この場合、 「FML::Command::User::コマンド」は confirm を行なうための wrapper という位置付けになります。
FML::Process::Command から FML::Command 経由で 「FML::Command::Admin::コマンド」 を呼び出しています。
Warning |
makefml を実行できる時点で、 サーバにログインできる管理者権限があるとみなされています。 |
FML::Process::Configure から FML::Command 経由で 「FML::Command::Admin::コマンド」 を呼び出しています。
Warning |
CGI も一般ユーザむけの CGI と管理者用の CGI があります。 管理者用の CGI については、 この CGI を実行できる時点で、 (認証をパスしており) 管理者権限があるとみなされています。 |
アドレス登録/削除などのためにある一般ユーザ用の CGI は、 FML::Process::CGI から FML::Command 経由で 「FML::Command::User::コマンド」 を呼び出しています。 コマンドメールと同様に confirm のための wrapper という位置付けです。
管理者用の CGI は、FML::Process::CGI から FML::Command 経由で 「FML::Command::Admin::コマンド」 を呼び出しています。
Copyright (C) 1993-2022 Ken'ichi Fukamachi mail:< fukachan at fml.org >