Web サイトの個々の訪問者を識別できるのは、その訪問者にログインを許可する場合のみです。次に示すように、様々な理由でログイン機能が提供されます。
- AEM Communities
サイト訪問者がコミュニティにコンテンツを投稿するにはサインインする必要があります。 - 閉じられたユーザーグループ
Web サイト(または Web サイト内のセクション)へのアクセスを特定の訪問者に制限することが必要な場合があります。 - パーソナライズ機能
訪問者が Web サイトへのアクセス方法に関する特定の要素を設定できるようにします。
ログイン(およびログアウト)機能は、プロファイル付きのアカウントによって指定されます。プロファイルには、登録済みの訪問者(ユーザー)に関する追加情報が保持されます。実際の登録および承認のプロセスは状況によって異なります。
- Web サイトからの自動登録
コミュニティサイトは、訪問者が自身の Facebook や Twitter のアカウントから自動登録またはサインインすることを許可するように設定できます。 - Web サイトからの登録の要求
閉じられたユーザーグループでは、訪問者による登録の要求は許可し、ワークフローによる承認を強制する場合があります。 - オーサー環境からの各アカウントの登録
承認が必要になるプロファイルが少数の場合は、各アカウントを直接登録するよう指定できます。
訪問者による登録を許可するには、一連のコンポーネントとフォームを使用して、必要な ID 情報、追加の(多くの場合、オプションです)プロファイル情報の順に収集できます。また、登録の完了後に、訪問者が送信した詳細の確認と更新をおこなえるようにする必要があります。
フォームを使用すると、登録情報を収集して新しいアカウントとプロファイルを生成できます。
例えば、ユーザーは次の Geometrixx ページを使用して新しいプロファイルを要求できます。
http://localhost:4502/content/geometrixx-outdoors/en/user/register.html


新しいアカウントはユーザーコンソールにも表示されます。
ログインコンポーネントを使用すると、ログイン情報を収集して、ログインプロセスをアクティベートできます。
これにより、訪問者には標準のフィールド(「ユーザー名」および「パスワード」)と「ログイン」ボタンが表示され、資格情報を入力するとログインプロセスがアクティベートされます。
例えば、ユーザーは Geometrixx ツールバーの「Sign In」オプションを使用して、ログインするか、新しいアカウントを作成できます。使用するページを次に示します。
http://localhost:4502/content/geometrixx-outdoors/en/user/sign-in.html

登録フォームによっては、訪問者の情報が自身のプロファイルに登録されます。訪問者が以降のステージでこの情報を確認および更新できるようにする必要があります。そのためには、同様のフォームを用意します。例えば、Geometrixx では次のフォームを使用します。
http://localhost:4502/content/geometrixx-outdoors/en/user/profile.html
プロファイルの詳細を確認するには、ページの右上隅にある「マイプロファイル」をクリックします。例えば、admin アカウントを使用する場合のプロファイルは次のとおりです。
http://localhost:4502/home/users/a/admin/profile.form.html/content/geometrixx-outdoors/en/user/profile.html
オーサー環境の ClientContext を使用すると、別のプロファイルを確認できます(十分な権限がある場合)。
多くのユースケースでは、ユーザー(正確にはユーザーのプロファイル)が「特定の状態」にあるかどうかを把握する必要があります。
そのためには、次に示す方法で、ユーザープロファイルに適切なプロパティを定義する必要があります。
- ユーザーに対する表示およびアクセスが可能
- 各プロパティに 2 つの状態を定義する
- 定義した 2 つの状態の切り替えが可能
状態プロバイダーは、対象となるプロパティの現在の状態を、取りうる 2 つの状態のトランジションと共に管理します。
状態プロバイダーはコンポーネントとして実装されるので、プロジェクト用にカスタマイズできます。Geometrixx では、次のカスタマイズをおこなうことができます。
- Un-/Subscribe Forum Topic
- Add/Remove Friend
状態プロバイダーは、プロファイルのプロパティとその状態を管理します。
ワークフローは、状態に関連するアクションを実装する必要があります。例えば、通知を購読する場合、ワークフローは実際の購読アクションを処理します。通知の購読を解除する場合、ワークフローは購読リストからのユーザーの削除を処理します。
プロファイルは、ユーザーアカウントの一部としてコンテンツリポジトリに格納されます。

標準インストール(オーサーまたはパブリッシュ)では、すべてのユーザーの全プロファイル情報に対する読み取りアクセス権限が everyone(全員)に付与されています。everyone は「既存のすべてのユーザーとグループが自動的に含まれる組み込みのグループであり、メンバーのリストの編集は不可」と定義されます。
これらのアクセス権限は次のワイルドカード ACL によって定義されます。
/home everyone allow jcr:read rep:glob = */profile*
これにより、次の処理が可能になります。
- フォーラム、コメントまたはブログの投稿に、適切なプロファイルからの情報(アイコンやフルネームなど)を表示する
- Geometrixx のプロファイルページにリンクする
このようなアクセスがインストール環境に適していない場合は、デフォルト設定を変更できます。
そのためには、「アクセス制御」タブを使用します。

このコンポーネントには、次の 2 つのフィールドがあります。
- パスワードの入力用フィールド
- パスワードが正しく入力されていることを確認するチェック用フィールド
デフォルト設定を使用すると、コンポーネントは次のように表示されます。



