Adalo で通常のユーザーとは別に、管理者専用の画面を作りたい場合の方法を共有します。
ログイン画面は共通にして、管理者ユーザーによるログインがあった場合に、管理者のみ別の画面へと遷移させるようにしたい場合など。
この構成を別名で「マルチサイドアプリ」、「マルチサイドログイン」とも言うようですね。
目次:
- ユーザーテーブルに「管理者」のカラムをboolean属性(True/Falseのチェックマーク)で追加
- ログイン直後に管理者属性をチェックし転送する「分類器」画面を作成
- URL共有で他ユーザーから閲覧されないようセキュリティ対策
- データベースを共有し、管理者用アプリ自体を別個に作ることも可能
英語ですが、全体の流れの確認としては下の動画が参考になりました。
下記リンクはこの動画を含めAdaloフォーラムに投稿されたチュートリアルです。シンプルで分かりやすい方法。
Tutorials: users and admin access to different screens
In this short tutorial I show how to redirect users with different roles to different screens after their login. For example, this could be useful when you have "admin" role and want to have a separate screen - admin console.
forum.adalo.com

ユーザーテーブルに「管理者」のカラムをboolean属性(True/Falseのチェックマーク)で追加
ログイン直後に管理者属性をチェックし転送する「分類器」画面を作成
URL共有で他ユーザーから閲覧されないようセキュリティ対策
ネイティブアプリ化をしていないSPAで公開する場合、ログイン後の管理者画面URLを知られてしまうと、一般ユーザーにおいても管理者画面へそのままアクセスされてしまうというセキュリティ上の危険があります。
これを避けるため、ログイン後の管理者画面のコンポーネント全てを、「管理者ユーザー以外は不可視」という状態にします。
コンポーネントをグループ化して、グループごと「管理者ユーザー以外は不可視」の設定にしましょう。
データベースを共有し、管理者用アプリ自体を別個に作ることも可能
Adaloで新しいアプリを作成するときに「既存のデータベースを利用する」を選択すれば、データベースは同一のものを利用して、フロント画面は別個のアプリとして開発が可能。
単に管理者という括りではなく、異なる属性のユーザーグループに異なるフロント画面を見せたい、という場合にはこの「マルチサイドアプリ」として構築するほうが良さそうです。
たとえばUberはユーザー用とドライバー用でアプリが別個になっています。
具体的な実装方法は、ユーザー登録時にユーザー登録or管理者登録として2つのサインアップ画面を設け、ユーザー登録時点からユーザーを切り分ける方法をとります。このとき管理者として登録した人には管理者属性を付与。
その後、別個のAdaloアプリを作成し、既存のデータベースを利用するようにします。
既存のAppからフロント画面を複製してデータベースを共有したい場合は下記から:
Settings > Copy / Delete > Copy App
#TwoMinuteTuesday | Multi-Sided Apps
Are you creating a #NoCode app with different types of users that have varying privileges? For example: 🏢 Admin & User 👨🏫 Teacher & Student 💰 Seller &...
www.facebook.com

上記、Adaloの週次チュートリアル”TwoMinuteTuesday”のページで具体的に動画で説明されていました。
下記はAdaloでのマルチサイドアプリ開発についての詳細なテキストドキュメントです。
How to Create Multi-Sided Apps
1.) Before we choose and build out how our multi-sided app will work, we need to establish some user types or roles within our database in order to determine which side of the app a user should see. There are a few ways to do this.
help.adalo.com
この記事の気になった箇所を読み返す:
- ユーザーテーブルに「管理者」のカラムをboolean属性(True/Falseのチェックマーク)で追加
- ログイン直後に管理者属性をチェックし転送する「分類器」画面を作成
- URL共有で他ユーザーから閲覧されないようセキュリティ対策
- データベースを共有し、管理者用アプリ自体を別個に作ることも可能
Category: No-Code | ノーコード
Tag: No-Code | Adalo