ユーザー登録審査の実装

本ドキュメントでは、異なるビジネスシナリオに対応する 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 のバックエンドで新しいテーブルを作成し、ユーザーの登録申請情報を格納します。

  • フィールドの設定 テーブルに以下のフィールドを追加し、フィールドタイプと説明が正しいことを確認します:

    Field display nameField nameField interfaceDescription
    IDidIntegerシステムが自動生成する、レコードの一意の ID
    UsernameusernameSingle line text申請者のユーザー名
    EmailemailEmail申請者のメールアドレス
    PhonephonePhone申請者の連絡先電話番号
    Full Namefull_nameSingle line text申請者のフルネーム
    Application Reasonapplication_reasonLong text申請者が記入する申請理由または説明
    User Typeuser_typeSingle select申請者の将来のユーザータイプ(例:メール登録、オープン登録)
    StatusstatusSingle select申請の現在のステータス(例:審査待ち、承認済み、却下済み)
    Initial Passwordinitial_passwordSingle line text新規ユーザーの初期パスワード(デフォルトは 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 ボタン機能の設定
  • 「審査承認」ボタンの設定
    • 先ほど作成したワークフローにバインドします。
    • 送信時に【ステータス】フィールドの値を「審査承認」に設定します。 参考図:
  • 「審査却下」ボタンの設定
    • 送信時に【ステータス】フィールドの値を「審査却下」に設定します。
2.2.2.3 ボタンの連動ルール設定

重複操作を防ぐため、連動ルールを設定します:【ステータス】が【審査待ち】でない場合はボタンを非表示にします。 参考図:

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 コミュニティで交流するか、公式ドキュメントを参照してください。本ガイドが、実際のニーズに応じたユーザー登録審査の実装と柔軟な拡張にお役立ていただければ幸いです。ご利用がスムーズに進み、プロジェクトが成功することをお祈りしています!