ユーザの登録、削除について ユーザの追加と削除は何に対して行なうか? ユーザの追加と削除は、 ともに「primary_*_map に対して」 おこないます。 たとえば、リモート管理者は primary_admin_member_map と primary_admin_recipient_map の両方に アドレスを追加します。 削除の際は、 primary_admin_member_map と primary_admin_recipient_map から アドレスを削除します。 操作対象を admin_member_maps と admin_recipient_maps にしてしまうのは問題があります (ここには &fml4; の反省がいかされています ;-)。 追加対象は一つに限定しなくてはいけません。 だから、primary_*_map 一つに対して行なう。 操作対象が *_maps では複数の map のどれに追加してよいのか曖昧です。 逆に、削除は、いっけん *_maps が操作対象で問題ない気がしますが、 実は駄目です。消し過ぎになってしまうことがあるからです。 特に問題になるのは、*_maps に「権限の異なる map 」が混在している場合です。 たとえば、member_maps はデフォルトで、リモート管理者を含んでいます。 member_maps = $primary_member_map $admin_member_maps そのため、member_maps に対して削除を試みると、 勢いあまってリモート管理者の分も削除してしまうことになるというわけです。 こういった曖昧さを避けるために、 primary_XXX_map と XXX_maps という分離が考案されたいというわけです (ようするに &fml4; の反省がいかされています ;-)。