NocoBaseで登録ユーザー審査を実装する方法

本書では、異なるビジネスシーンに合わせた2つのユーザー登録審査の実装方法を紹介します:

  • ソリューション1:シンプルかつ迅速に登録審査プロセスを実現したいシーンに適しています。この方法では、システムの既定の新規ユーザー登録機能を利用し、すべての新規ユーザーに権限のない「ゲスト」ロールを割り当て、後で管理者がバックエンドで手動で審査およびロールの更新を行います。
  • ソリューション2:より柔軟でカスタマイズ可能な登録審査プロセスが必要なシーンに適しています。専用の申請情報テーブルの設計、審査ワークフローの構成、公開フォームプラグインの有効化により、登録申請の提出から自動的な新規ユーザー作成までの全プロセスを管理できます。


1. ソリューション1:権限のない「ゲスト」ロールを使用

1.0 適用シーン

シンプルな登録審査が求められ、システム標準の登録機能を利用し、バックエンドでユーザーの手動審査を行う場合に適用します。

1.1 パスワード認証の有効化とユーザー登録の許可

1.1.1 ユーザー認証ページにアクセス

まず、ユーザー登録機能が有効になっているかを確認します。システム設定内の【ユーザー認証】ページ(ユーザー認証機能)に移動します。ここでは「アカウントパスワードログイン」や「Googleログイン」など、各種認証チャネルが管理されています(プラグインで拡張可能)。

登録機能のオン・オフは、下記の画面で設定できます:

1.2 デフォルトロールの設定(コア)

1.2.1 「ゲスト」ロールの作成

システムでは登録機能が既に有効になっていますが、デフォルトロールが要件に合わない場合があります。

そのため、まず【ロール一覧】で「ゲスト」ロールを作成し、デフォルトロールとして設定します。すべての新規登録ユーザーにはこのロールが自動的に割り当てられ、権限は一切ありません。

1.3 登録審査画面の設定(コア)

バックエンドの編集モードに切り替え、シンプルなテーブルブロックを設定します。ユーザーテーブルを選択して、登録ユーザーの表示および管理を行います。

1.4 登録審査プロセスのテストと手動ロール更新

  • 新規ユーザーが登録すると、最初は画面が空白になります:
  • 管理画面上で、申請情報に問題がないユーザーのロールを手動で指定のロールに変更し、審査を完了します。

1.5 プロンプトページの設定(任意)

1.5.1 例:「登録成功」などのページを新規作成し、案内文を記入

任意ステップ:空白ページに「現在、あなたのアカウントは審査中です。審査が完了するまでお待ちください」といったフレンドリーな案内文を追加し、ユーザーに状況を知らせることができます。

1.5.2 プロンプトページへの権限割り当て

次に、ユーザー権限管理の設定に進み、「ゲスト」ロールに対してこのページを割り当てます。登録成功後、システムは自動でこのページにリダイレクトされます。

1.6 ユーザーテーブルのフィールド拡張(任意)

任意ステップ:登録時に審査を補助するための追加情報(例:「申請理由」や「招待コード」)を収集する必要がある場合、ユーザーテーブルに関連フィールドを追加します。基本的な登録審査のみであれば、このステップは省略可能です。

1.6.1 申請フィールドの追加

【ユーザーテーブル】に入り、ユーザーが登録時に入力する申請理由や招待コード情報を記録するフィールドを追加します。

1.6.2 「ユーザー認証」でフィールドを有効化

設定が完了したら、ログインページの【アカウント登録】をクリックすると、登録フォームに該当フィールドが表示されます(任意項目の設定があれば表示され、なければ基本フォームのみが表示されます)。

1.6.3 審査画面に対応フィールドを追加

審査画面にもこれらのフィールドを追加し、ユーザーのロールをリアルタイムに審査・更新できるようにします。


2. ソリューション2:直接の登録チャネルを無効化し、審査中間テーブルを使用

2.0 適用シーン

より柔軟かつカスタマイズ可能な登録審査プロセスが必要な場合に適用します。

本ソリューションでは、独立した申請情報テーブル、ワークフロー設定、および公開フォームプラグインを活用し、ユーザーの登録申請提出から自動的なユーザー作成までの全プロセスを実現します。コアステップとして基本機能を確保し、後にさらに拡張が可能です。

2.1 事前準備(コア)

2.1.1 申請情報テーブルの設計

2.1.1.1 「申請情報」テーブルの新規作成
  • テーブルの作成 NocoBase のバックエンドで、ユーザー登録申請情報を保存するテーブルを新規に作成します。

  • フィールドの設定 以下のフィールドを追加し、フィールドの種類や説明が正しく設定されていることを確認してください:

    フィールド表示名フィールド名インターフェース説明
    IDidIntegerシステムが自動生成する、レコードの一意なID
    Usernameusername単一行テキスト申請者のユーザー名
    EmailemailEmail申請者のメールアドレス
    Phonephone電話番号申請者の連絡先電話番号
    Full Namefull_name単一行テキスト申請者のフルネーム
    Application Reasonapplication_reason複数行テキスト申請者が記入した申請理由または説明
    User Typeuser_typeシングルセレクト申請者の将来のユーザータイプ(例:メール登録、公開登録)
    Statusstatusシングルセレクト現在の申請ステータス(例:審査待ち、承認済み、拒否済み)
    Initial Passwordinitial_password単一行テキスト新規ユーザーの初期パスワード(デフォルトは nocobase)
    Created atcreatedAtCreated atシステムが記録した作成日時
    Created bycreatedByCreated byシステムが記録した作成者
    Last updated atupdatedAtLast updated atシステムが記録した最終更新日時
    Last updated byupdatedByLast updated byシステムが記録した最終更新者
  • テーブル構造のプレビュー 下記画像を参考に、テーブル構造が正しく設定されていることを確認してください:

2.1.1.2 データ入力と表示
  • 審査画面の設定 メイン画面で「登録情報審査」という管理画面を設定し、ユーザーが送信した申請情報を表示します。
  • テストデータの入力 管理画面にてテストデータを入力し、データが正しく表示されることを確認します。

2.2 ワークフロー設定

本セクションでは、申請が承認された後に自動で新規ユーザーを作成する機能を実現するためのワークフローの設定方法について説明します。

2.2.1 審査ワークフローの作成

2.2.1.1 新規ワークフローの作成
  • ワークフロー画面にアクセス NocoBase のバックエンドでワークフロー設定ページに移動し、「新規ワークフロー」を選択します。
  • トリガーイベントの選択操作後イベント」または「操作前イベント」から選択可能です。ここでは操作前イベントを例にとります。
  • ワークフローノードの設定 「新規ユーザー作成」ノードを新規作成し、現在のフォームデータを新規ユーザーデータに変換するためのフィールドマッピングおよび処理ロジックを設定します。下記画像を参考にしてください:

2.2.2 審査フォームボタンの設定

2.2.2.1 「承認」と「拒否」ボタンの追加

申請情報フォーム内に「審査承認」と「審査拒否」の2つのボタンを追加します。

2.2.2.2 ボタン機能の設定
  • 「審査承認」ボタンの設定
    • 先ほど作成したワークフローにバインドします。
    • 送信時に【Status】フィールドの値を「承認済み」に設定します。下記画像を参考にしてください:
  • 「審査拒否」ボタンの設定
    • 送信時に【Status】フィールドの値を「拒否済み」に設定します。
2.2.2.3 ボタン連動ルールの設定

重複操作を防ぐため、【Status】が「審査待ち」でない場合はボタンを非表示にする連動ルールを設定します。下記画像を参考にしてください:

2.3 公開フォームプラグインの有効化と設定

2.3.1 公開フォームプラグインの有効化

2.3.1.1 プラグインの有効化操作
  • プラグイン管理にアクセス バックエンドの管理画面で「公開フォーム」プラグインを見つけ、有効化します。下記画像を参考にしてください:

2.3.2 公開フォームの新規作成と設定

2.3.2.1 公開フォームの作成
  • フォームの新規作成 バックエンド管理画面にて、ユーザーが登録申請を送信するための公開フォームを新規作成します。
  • フォーム要素の設定 ユーザー名、メールアドレス、電話番号などの必要なフォーム要素を追加し、対応する検証ルールを設定します。下記画像を参考にしてください:

2.3.3 公開フォームプラグインのテストと設定(コア)

2.3.3.1 公開フォームのテスト
  • フロントエンドページの確認 公開フォームページにアクセスし、フォームに入力して申請データを送信します。
  • 機能の検証 データが正しく「申請情報」テーブルに保存され、ワークフローの審査を経て自動で新規ユーザーが作成されるかを確認します。下記テスト結果を参考にしてください:

2.4 今後の拡張(任意)

基本的な登録および審査プロセスが完了した後、以下のような追加機能を必要に応じて拡張できます:

2.4.1 招待コードによる登録

  • 機能説明:招待コードを設定することで、登録ユーザーの範囲と数を制限します。
  • 設定案:申請フォームに招待コードフィールドを追加し、送信前にそのフィールドの正当性を検証および制御する「操作前イベント」(操作前イベント)を利用します。

2.4.2 自動メール通知

  • 機能説明:審査結果の通知、登録成功などのメールを自動送信する機能です。
  • 設定案:NocoBase のメールノードと連携し、ワークフロー内にメール送信操作を追加します。

操作中に問題が発生した場合は、NocoBase コミュニティに参加するか、公式ドキュメント(日文ドキュメントセンター)をご参照ください。 本ガイドが、実際のニーズに応じたユーザー登録審査の実装と、必要に応じた柔軟な拡張に役立つことを願っています。 スムーズなご利用とプロジェクトの成功をお祈りします!

× 放大图像