この記事では、AppMaster.ioノーコードプラットフォームがアプリケーションユーザーのデータへのアクセスの問題をどのように解決するかを見ていきます。
これは、ユーザー、モデレーター、管理者、およびその他の要件などの役割を導入することによって発生します。このソリューションは、ビルドされたアプリケーション内の柔軟性を高め、ビルドされたアプリケーション内の情報と機能へのアクセスを制御します。
この記事は、AppMaster.ioプラットフォームの機能を詳しく調べ、役割ごとにデータにアクセスするための設定の観点からその機能を確認したい人に役立ちます。
AppMaster.ioによるМoduleAuth
プラットフォームでアセンブルされたアプリケーションへの登録はAuthモジュールで表され、ユーザーグループを作成および編集し、それらの権限にアクセスできます。 Authモジュールは、作成時にプロジェクトに事前にインストールされています。
利用可能な認証モジュール設定:
サインアップグループ—登録できるユーザーグループのリスト。
サインアップ—アプリケーションに登録する機能が含まれています。
セッションタイムアウト(分)—ユーザーがアイドル状態の場合に現在のユーザーセッションが終了するまでの時間(分単位)。デフォルトは60分です。
ログイン遅延の失敗(ミリ秒単位) —ログイン試行が失敗した場合のサーバー応答の遅延時間(ミリ秒単位)。デフォルトは0ミリ秒です。
電子メールによる確認が必要—有効になっている場合は電子メールによる確認を伴うオプション。
サインアップしたユーザーアクティブ—登録されたユーザーごとにアクティブ属性をTrueに設定します。
グループ—ユーザーグループを作成および編集できます。
AppMaster.ioは、データモデルデザイナを使用してモデルを操作します。
ユーザーとユーザーセッションは、データモデルデザイナで自動的に作成される2つのモデルです。プレインストールされたデータモデルフィールドは変更または削除できませんが、新しいフィールドを追加することはできます。
これらのモデルでは、ビジネスプロセスのブロック(BP)も自動的に作成されます。
ユーザーおよびユーザーセッションに関連付けられた自動生成されたBP
- ユーザーモデル
DB:ユーザーの削除—IDを介してデータベースからオブジェクトユーザーを削除します。
DB:Update User —データベースの入力に渡されたUser-objectブロックのすべてのフィールドをリセットし、指定された値に従って更新します(指定されたフィールドのみを変更するには、DB:Patch Userブロックが使用されます)。
DB:Create User —データベースに保存し、指定されたUserオブジェクトを返します(指定されたフィールドから作成するには、Make Userブロックを使用します)。
DB:Soft Delete User — UserオブジェクトのDeletedAt属性を更新し、データベースに残します。
DB:ユーザーの一括削除—データベースから削除されるユーザーオブジェクトのID(ID)の配列を入力として受け取ります。
failed_ids —削除されないユーザーIDの配列。
DB:Patch User —データベース内のUserオブジェクトの指定されたフィールドを更新します(すべてのフィールドをリセットするには、DB:Update Userブロックを使用します)。
DB:ユーザーの検索—フィールドに基づいてデータベース内の1つ以上のユーザーオブジェクトを検索し、それらを返します。
DB:GetOne User — IDによってデータベース内のUserオブジェクトを検索し、それを返します。
ユーザーの展開—選択したユーザーオブジェクトのすべてのフィールドを返します。
ユーザーの作成—指定されたフィールドからメモリ内に新しいユーザーオブジェクトを作成し、それを返します(作成されたオブジェクトをデータベースに保存するには、DB:Create Userブロックを使用します)。
- ユーザーセッションモデル
DB:ユーザーセッションの削除—渡されたIDによってデータベースからユーザーセッションオブジェクトを削除します。
DB:ユーザーセッションの更新—データベースの入力ブロックに渡されたユーザーセッションオブジェクトのすべてのフィールドをリセットし、指定された値に従って更新します(指定されたフィールドのみを変更するには、DB:ユーザーセッションのパッチを使用します)。
DB:ユーザーセッションの作成—データベースに格納し、指定されたユーザーセッションオブジェクトを返します(指定されたフィールドからオブジェクトを構築するには、[ユーザーセッションの作成]ブロックを使用します)。
DB:ユーザーセッションのソフト削除—ユーザーセッションオブジェクトのDeletedAt属性を更新し、データベースに残します。
DB:ユーザーセッションの一括削除—データベースから削除されるユーザーセッションオブジェクトのIDのセットを入力として受け入れます。
failed_ids —配列は削除されないIDのセットを定義します。
DB:ユーザーセッションのパッチ—データベース内のユーザーセッションオブジェクトの指定されたフィールドを更新します(すべてのフィールドをリセットするには、DB:ユーザーセッションの更新ブロックを使用します)。
DB:ユーザーセッションの検索—フィールドに基づいてデータベース内の1つ以上のユーザーセッションオブジェクトを検索し、それらを返します。
DB:GetOne User Session —データベース内のUser SessionオブジェクトをそのIDで検索し、それを返します。
ユーザーセッションの展開—選択したユーザーセッションオブジェクトのすべてのフィールドを返します。
ユーザーセッションの作成—指定されたフィールドからメモリ内に新しいユーザーセッションオブジェクトを作成し、それを返します(作成されたオブジェクトをデータベースに保存するには、DB:ユーザーセッションの作成ブロックを使用します)。
- 認証モジュール
Auth:Generate Auth Token —指定された長さの認証トークン(Auth Token)を生成します。
認証:登録—新しいユーザーを登録します。
Auth:Authorization —認証トークンがシステムに存在するかどうかを確認し、それに関連付けられているユーザーを返します。
Auth:Authentification —ユーザーのログインとパスワードをチェックし、認証トークンを返します。
Auth:Logout — Auth Tokenを受け入れ、現在のユーザーセッションを終了します。
Auth:Get current user —現在のユーザーのデータを返します。
Auth:グループからユーザーを削除します— ID(Authモジュールの設定で定義)によって指定されたグループからユーザーを削除します。
Auth:ユーザーをグループに追加— ID(Authモジュール設定で定義)によって指定されたユーザーグループにユーザーを追加します。
Auth:Hash Password —パスワード文字列をハッシュに変換します。
Auth:Restore Password —ユーザーのユーザー名と新しいパスワードを受け入れ、それによってパスワードをリセットします。
認証:パスワードの変更—現在のユーザーパスワードを新しいパスワードに置き換えます。
Auth:プローブパスワード—パスワードとハッシュマッチングの検証。
プロジェクトの作成時に、認証モジュールのエンドポイントとユーザーおよびユーザーセッションモデルが自動的に生成されます。
認証モジュール
リクエストの種類 | 終点 | 接続されたBP |
---|---|---|
/ログアウト/ | 認証:ログアウト | |
/ auth / | Auth:認証 | |
/登録/ | 認証:登録 | |
/確認/ | 認証:登録 | |
/ user / change-password | 認証:パスワードの変更 | |
/ user / restore-password / | 認証:パスワードの復元 | |
/ user / profile / | 認証:承認 |
ユーザー
リクエストの種類 | 終点 | 接続されたBP |
---|---|---|
/ユーザーID/ | DB:ユーザーの更新 | |
/ユーザーID/ | DB:ユーザーを削除 | |
/ユーザーID/ | DB:GetOneユーザー | |
/ユーザー/ | DB:ユーザーの検索 | |
/ユーザーID | DB:パッチユーザー | |
/ユーザー/ | DB:ユーザーの作成 |
ユーザーセッション
リクエストの種類 | 終点 | 接続されたBP |
---|---|---|
/ user-session /:id / | DB:ユーザーセッションの削除 | |
/ user-session /:id / | DB:GetOneユーザーセッション | |
/ user-session / | DB:ユーザーセッションの検索 | |
/ user-session /:id / | DB:パッチユーザーセッション | |
/ user-session / | DB:ユーザーセッションの作成 | |
/ user-session /:id / | DB:ユーザーセッションの更新 |
Auth Tokenは、許可されたユーザーの現在のセッショントークンとして使用されます。 WebアプリケーションBPでは、次のトークンを操作することができます。
- Get Auth Tokenは、現在認証されているユーザーセッションの認証を返します。
- Set Auth Tokenは、許可されたユーザーの現在のセッションのAuthTokenを上書きします。
- Auth Tokenの削除は、許可されたユーザーの現在のセッションのAuthTokenを削除します。
この例は、現在のユーザーを取得する方法を示しています。
これを行うには、[ビジネスロジック]タブに移動し、[認証:現在のユーザーブロックを取得]をドラッグします。
次に、作成されたBPのエンドポイントが作成されます。これは、サーバーに接続して現在のユーザーのオブジェクトを取得するために使用されます。
[エンドポイント]セクションでユーザーグループを選択し、新しく作成されたプロセスのGETリクエストメソッドを作成して、現在のユーザーを取得します。
WebアプリケーションBPで、作成されたエンドポイントに要求(サーバー要求GET / user_current)を実行して、現在のユーザーを取得します。
グループと権限
ユーザーグループは、Authモジュールの設定で作成されます。モジュール設定に移動するには、[モジュール]セクションを開き、対応するモジュールのカードをクリックする必要があります。
[グループ]タブには、既存のすべてのグループのリストが含まれています。 [新しい要素の追加]をクリックして、新しいユーザーグループを作成します。新しいモーダルウィンドウでは、グループをカスタマイズしたり、説明、アイコン、アイコンとラベルの色、およびタグを追加したりできます。
pMaster "data-mce-src =" https://ws.apms.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/ ">
既存のユーザーグループを編集するには、Authモジュールの設定にも移動する必要があります。これを行うには、[モジュール]セクションに移動し、対応するモジュールのカードをクリックします。次に、[グループ]タブで、グループのリストが利用可能になります。編集するには、設定アイコンをクリックする必要があります。新しいモーダルウィンドウでは、グループをカスタマイズしたり、グループの説明、アイコン、アイコンとラベルの色、およびタグを変更したりできます。
特定のユーザーグループのデータベース内のエントリの読み取り/書き込みの権限を変更するには、Authモジュールのミドルウェアを使用します。
[エンドポイント]セクションで、読み取り/書き込み権限を変更するエンドポイントを選択します。目的のエンドポイントの設定ボタンをクリックし、開いたモーダルウィンドウの[ミドルウェア]タブに移動します。次に、Token Auth Middlewareの行にある[設定の編集]をクリックして、アクセス権を設定します。
Webアプリケーションのページへのアクセス:Webアプリケーションに移動し、アクセスを制限するページの[設定]ボタンをクリックする必要があります。
[グループの表示]フィールドで、このページの表示を許可するユーザーグループのリストを選択する必要があります。デフォルトでは、フィールドは空であり、すべてのカテゴリのユーザーにアクセスが許可されています。
結論
ロールごとのデータへのアクセスは、特定のユーザーグループの情報フローを整理するための便利な方法です。ノーコードプラットフォームAppMaster.ioを使用すると、この機能を試用版でテストできます。
この機能に感銘を受けた場合は、この機能、バイナリファイルのエクスポート、定期的なバックアップ、プロジェクトの転送などを含むProfessionalプランを入手してください。 AppMaster.ioプラットフォームで、最も大胆なプロジェクトを実装するのを待っています。