PowerCMS™
2025年1月1日購入分よりライセンスの価格を改定いたします。
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[ブログ] PowerCMS サポートの実績 (2024年11月) を追加しました。
[ブログ] ワークショップ「情報保障とやさしい日本語」参加レポート を追加しました。

会員限定サイト

アドオン・プラグイン

※ この機能はプロフェッショナル版以上のライセンスをご購入の場合のみご利用可能です

サインインしており、権限のあるユーザーのみ閲覧可能なページを作成ことができます。PowerCMS 標準テーマを適用してワークスペース/スペースを作成すれば、すぐに利用開始することができます。

会員専用サイトは mt-search.cgi による検索はできません。

DynamicMTML や、ログインのための CGI などを利用する機能です。Copy2Public 等の同期機能を使って別サーバーでコンテンツを公開する構成の場合、機能を利用できないことがあります。ドキュメント『CMS サーバーと公開サーバーを分ける場合に留意すべき事項』を参照してください。

Members プラグインと DynamicMTML のテンプレートタグによる処理の流れ

PowerCMS 標準テーマにおいては、テンプレートタグを使って実装されています。まず、DynamicMTML が提供しているテンプレートタグ MTIfLogin および MTIfUserHasPermission がサインイン状態と、ユーザーの権限を判定します。両方を満たしている場合はコンテンツを表示し、満たしていない場合はサインインフォームを表示します。

プラグインのインストール

ドキュメント『プラグインのインストール』を参照し、オプションプラグイン「Members」をインストールしてください。

  • 加えて、$MT_DIR/mt-members.cgi を設置し、実行可能な権限を付与します。

会員限定サイトの構築手順

1. ワークスペース/スペースを作成する

もっとも簡単な方法は、PowerCMS 標準のテーマを使って新しくワークスペース/スペースを作成することです。ワークスペース/スペースを作成する際にテーマを「PowerCMS Bootstrap ワークスペース」または「PowerCMS Bootstrap スペース」、「PowerCMS Eiger」、「PowerCMS Rainier」のいずれかから選択してください。会員限定サイトの構築に必要なテンプレートがインストールされます。

標準テーマはスマートフォンからのアクセスについても対応しています。

すでに構築したサイトに組み込む場合は、まずPowerCMS 標準のテーマを使って新しいワークスペース/スペースを作成し、そこで動作を試したうえで、必要なテンプレートを移植するとよいでしょう。管理画面の 検索/置換 の機能で、「ログインチェック」「IfLogin」など検索すると、該当箇所がわかります。

2. 「会員限定サイトにする」設定を行う

作成したワークスペース/スペースを会員限定にするか、一般公開するかはワークスペース/スペースの全般設定から切り替えることができます。

「会員限定サイトにする」設定

「会員限定サイトにする」のチェックを入れて保存します。

3. 環境変数の追加

会員限定サイトに対するサインイン情報をブラウザのクッキーで保持させるため、以下の環境変数を追加します。

CookiePath /

環境変数 CookiePath を変更する場合、すでにブラウザがクッキーを持っている場合は、いちどクッキーを削除する必要があります。

4. 確認

ワークスペース/スペース全体の再構築を行ったあと、ログアウトした状態で、対象の領域のページへアクセスすると、サインインフォームが表示されるようになります 。サインインを行うことで、ページを閲覧することができるようになります。

会員限定機能が有効な状態

  • mt-members.cgi をアプリケーションディレクトリ以外に設置する場合は、設置場所の URL を環境変数に設定する必要があります。設定は以下のようになります。

    MemberScript http://example.jp/path/to/mt-members.cgi
  • mt-members.cgi を他のファイル名に変更する場合についても上記設定を行ってください。

DynamicMTML を利用している場合の注意点

DynamicMTML を利用して会員限定サイトを作成する場合 (PowerCMS 標準テーマを利用する場合) ワークスペース/スペースの全般設定画面では以下の設定をオフにしてください。以下の設定が有効な場合、ログイン後もキャッシュ機能によってログイン画面が表示される状態が発生します。

  • キャッシュする
  • DynamicMTML で条件付き GET を有効にする

PowerCMS 標準テーマを使って会員サイトを構築していれば DynamicMTML を利用する状態になっています。

「会員」を判定する権限とインストールされるロールについて

Members プラグインにおける「会員」は、「会員サイトの閲覧」権限を持っているかどうかで判定されます。Members プラグインをインストールすると、「会員サイトの閲覧」権限を含むロールとして、「会員ページの閲覧」ロールが自動的に作成されますので、これをユーザーに割り当ててください。

会員の権限

Members プラグインの設定

システムレベル

システムメニューの Members プラグイン設定で以下の項目を設定することができます。

設定項目 解説 設定例
サイトのルート・パス ドキュメントルートのパスをフルパスで指定します。 /home/usr/public_html
セッションの有効期限 セッションの有効期限を秒単位で指定します。 3600
仮登録ユーザーの有効期限 仮登録後、ここで指定した秒数を経過した場合に本登録をできなくします。
登録ユーザーのステータス ユーザーが登録の操作を行った後、登録時のステータスを設定します。

「有効」を選択した場合、登録したアカウントのステータスは有効、ユーザーはサイトへすぐにログインできる状態になります。「保留中」を選択した場合、登録したユーザーのステータスは「保留中」で、管理者がアカウントを有効化することでユーザーはサイトへログインできる状態になります。
保留中
ユーザー登録時にメール通知する ユーザーが登録した時、管理者へメールで通知したい場合にチェックしてください。 有効
すべてに同時登録
サインアップの際に、全てのスペースに対して同時にサインアップさせたい場合はチェックしてください。
登録通知先 会員登録が行われた場合に通知する通知先を設定します。通知先として選択できるのはシステム管理者権限を持つユーザに限られます。
メールのFromアドレス メール送信の際に送信元として使用されます。

ワークスペース/スペース

システムメニューの Members プラグイン設定で以下の項目を設定することができます。

設定項目 解説 設定例
ユーザー登録時の通知先アドレス ユーザーの登録時、指定したアドレスにもメールを通知します
メールのFromアドレス 指定されたメールアドレスがメール送信の際に送信元として使用されます。

この設定が行われていない場合はシステムメールアドレスの値が送信元として使用されます。
ユーザー名/パスワードの形式チェックを行う ユーザー登録時に「ユーザー名」「パスワード」の形式チェックを行いたい場合に有効にします
ユーザー名の検証ルール
マルチバイト文字を含めない。 「ユーザー名」にマルチバイト文字を含めたくない場合に有効にします
アルファベットを含められる。 「ユーザー名」にアルファベットが含められるようになります。
数字を含められる。 「ユーザー名」に数字が含められるようになります。
記号を含められる。 「ユーザー名」に記号が含められるようになります。
最低文字数の設定 「ユーザー名」に指定する値の最低文字数を指定します 8
パスワードの検証ルール
マルチバイト文字を含めない。 「パスワード」にマルチバイト文字を含めたくない場合に有効にします
大文字と小文字の両方を必ず含める。 「パスワード」に英語の大文字と小文字を含めることが必須になります
文字と数字の両方を必ず含める。 「パスワード」に数字以外と数字の両方を含めることが必須になります
記号を必ず含める。 「パスワード」に記号を含めることが必須になります
最低文字数の設定 設定するパスワードの最低文字数を指定します。

環境変数

指定可能な環境変数の一覧です。

環境変数 解説 初期値
MembersAllowRedirectTargets リダイレクト先として許可する URL (管理画面 URL、ウェブサイト・スペース URL 以外)を、カンマ区切りで指定します。会員サイトの CGI に、return_url パラメータを指定した時、ここで指定した URL に前方一致しない場合は、リダイレクトを拒否します。指定する URL は http:// または https:// から記述してください。 https://example.com/, http://example.com/
MemberScript 会員管理機能のアプリケーションのファイル名を変更する際に指定します。 mt-members.cgi
MembersPasswordResetTTL 会員管理機能のパスワードの再設定メールの有効期限を設定します。
MembersRequireOldPassword 1 を指定すると、会員管理機能で、プロフィール編集画面からパスワードを変更する際に現在のパスワードを要求します。

テンプレートタグ

コンディショナルタグ

MTIfLogin
アクセスしてきたユーザーが PowerCMS にログイン状態であるかどうかを判別します。
MTIfUserHasPermission
アクセスしてきたユーザーがログインしている時、ユーザーが指定の権限をもっているか判別します。

ファンクションタグ

Members タグを含む テンプレートタグ を参照してください。

一覧へ

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。