LiveUser_Admin は、LiveUser で使用するあらゆるデータを管理するためのパッケージです。 例えばユーザ、グループ/ロール、権限およびそれらの関係を扱います。
LiveUser_Admin の主な機能は次のとおりです。 複数の認証コンテナから取得したデータを、単一の権限コンテナにまとめることができます。 さまざまな権限コンテナや認証コンテナを使用することができます。つまり、 新しく作成したアプリケーションと、 独自の方法で権限やユーザの情報を管理している既存アプリケーションとを 簡単に統合できるということです。 新しいコンテナ型を作成するだけで準備OKです! 現在使用可能なコンテナは、 PEAR::DB、PEAR::MDB、PEAR::MDB2、ext/PDO を使用するものです。 LiveUser_Admin が提供する機能には次のようなものがあり、 これらを追加/編集/削除/取得することができます。
Rights (権限)
Users (ユーザ)
Groups (グループ)
Areas (範囲)
Applications (アプリケーション)
Subgroups (サブグループ)
ImpliedRights (暗黙の権限)
LiveUser については、外部の wiki にもまとめられています。
現時点では、LiveUser_Admin はまだベータ段階です。 とは言え、LiveUser_Admin は既に幅広いウェブサイトで実運用に使用されています。 完全に網羅しているわけではありませんが、その一覧を ここ で見ることができます。
LiveUser_Admin の今後の開発予定は ここ にあります。
LiveUser の概念についての詳細な説明は、以下の記事が参考になるでしょう。 http://www.php-mag.net/magphpde/magphpde_article/psecom,id,595,nodeid,21.html
この記事は 2004 年 4 月のものであるため、一部古くなっているところもあります。 また、この記事では LiveUser_Admin パッケージで使用する SQL ジェネレータについても説明されていません。 この機能により、API がさらに柔軟になりました。今や、 ストレージ層全体の設定を変更したり拡張したりできるようになっているのです。 これは、データの結合の際に多かれ少なかれ何らかのフィルタ処理を行えることを意味します。 この API についての概要は、 http://wiki.pooteeweet.org/LiveUser/AdminFilters を参照ください。
最近書かれた記事で、LiveUser やさまざまな権限コンテナについての 詳細な説明が掲載されているものが ここ にあります。
データベース構成の ER ダイアグラムは ここ にあります。
このダイアグラムには、権限の複雑度によってどのテーブルが必要になるのかが説明されています。 必要のないテーブルがインストーラでインストールされてしまうことを防ぐには、 インストーラの generateSchema() メソッドに渡す権限コンテナインスタンスの "tables" プロパティを修正します。
LiveUser を使い始めるにあたっては、次の 2 つの 記事 が参考になるでしょう。
LiveUser_Admin には、さまざまなサンプルが同梱されています。 これらのサンプルは、PEAR インストールディレクトリの下の "docs" ディレクトリにインストールされます。これらを見ると、 いろいろな使用例がわかるでしょう。 データベースのサンプルにはスキーマファイルが付属しています。 LiveUser のサンプルのルートフォルダにある demodata.php に、コマンドラインあるいはブラウザからこのスキーマをインストールする方法が書かれています。 これらのスキーマファイルをインストールするには、MDB2_Schema が必要です。
LiveUser_Admin パッケージの
example 1 では、さまざまな API を使用して、 管理 API のほとんどのメソッドとカスタムフィールドの使用法を説明します。
example3 では、単一の認証元 (データベース) と権限 (データベース)、 そして認証情報の記憶機能 (remember me feature) を使用した、 実際にありそうなシナリオについて説明します