この記事では、AppMaster.ioノーコードプラットフォームがアプリケーションユーザーのデータへのアクセスの問題をどのように解決するかを見ていきます。

これは、ユーザー、モデレーター、管理者、およびその他の要件などの役割を導入することによって発生します。このソリューションは、ビルドされたアプリケーション内の柔軟性を高め、ビルドされたアプリケーション内の情報と機能へのアクセスを制御します。

この記事は、AppMaster.ioプラットフォームの機能を詳しく調べ、役割ごとにデータにアクセスするための設定の観点からその機能を確認したい人に役立ちます。

AppMaster.ioによるМoduleAuth

プラットフォームでアセンブルされたアプリケーションへの登録はAuthモジュールで表され、ユーザーグループを作成および編集し、それらの権限にアクセスできます。 Authモジュールは、作成時にプロジェクトに事前にインストールされています。

Мodule Auth by AppMaster.io

利用可能な認証モジュール設定:

サインアップグループ—登録できるユーザーグループのリスト。

サインアップ—アプリケーションに登録する機能が含まれています。

セッションタイムアウト(分)—ユーザーがアイドル状態の場合に現在のユーザーセッションが終了するまでの時間(分単位)。デフォルトは60分です。

ログイン遅延の失敗(ミリ秒単位) —ログイン試行が失敗した場合のサーバー応答の遅延時間(ミリ秒単位)。デフォルトは0ミリ秒です。

電子メールによる確認が必要—有効になっている場合は電子メールによる確認を伴うオプション。

サインアップしたユーザーアクティブ—登録されたユーザーごとにアクティブ属性をTrueに設定します。

グループ—ユーザーグループを作成および編集できます。

AppMaster.ioは、データモデルデザイナを使用してモデルを操作します。

ユーザーとユーザーセッションは、データモデルデザイナで自動的に作成される2つのモデルです。プレインストールされたデータモデルフィールドは変更または削除できませんが、新しいフィールドを追加することはできます。

User and User Session

これらのモデルでは、ビジネスプロセスのブロック(BP)も自動的に作成されます。

ユーザーおよびユーザーセッションに関連付けられた自動生成されたBP

  • ユーザーモデル

DB:ユーザーの削除—IDを介してデータベースからオブジェクトユーザーを削除します。

Delete User in AppMaster

DB:Update User —データベースの入力に渡されたUser-objectブロックのすべてのフィールドをリセットし、指定された値に従って更新します(指定されたフィールドのみを変更するには、DB:Patch Userブロックが使用されます)。

Update User

DB:Create User —データベースに保存し、指定されたUserオブジェクトを返します(指定されたフィールドから作成するには、Make Userブロックを使用します)。

Create User

DB:Soft Delete User — UserオブジェクトのDeletedAt属性を更新し、データベースに残します。

Soft Delete User

DB:ユーザーの一括削除—データベースから削除されるユーザーオブジェクトのID(ID)の配列を入力として受け取ります。
failed_ids —削除されないユーザーIDの配列。

Bulk Delete User

DB:Patch User —データベース内のUserオブジェクトの指定されたフィールドを更新します(すべてのフィールドをリセットするには、DB:Update Userブロックを使用します)。

Patch User

DB:ユーザーの検索—フィールドに基づいてデータベース内の1つ以上のユーザーオブジェクトを検索し、それらを返します。

Search User

DB:GetOne User — IDによってデータベース内のUserオブジェクトを検索し、それを返します。

GetOne User

ユーザーの展開—選択したユーザーオブジェクトのすべてのフィールドを返します。

Expand User

ユーザーの作成—指定されたフィールドからメモリ内に新しいユーザーオブジェクトを作成し、それを返します(作成されたオブジェクトをデータベースに保存するには、DB:Create Userブロックを使用します)。

Make User

  • ユーザーセッションモデル

DB:ユーザーセッションの削除—渡されたIDによってデータベースからユーザーセッションオブジェクトを削除します。

Delete User Session

DB:ユーザーセッションの更新—データベースの入力ブロックに渡されたユーザーセッションオブジェクトのすべてのフィールドをリセットし、指定された値に従って更新します(指定されたフィールドのみを変更するには、DB:ユーザーセッションのパッチを使用します)。

Update User Session

DB:ユーザーセッションの作成—データベースに格納し、指定されたユーザーセッションオブジェクトを返します(指定されたフィールドからオブジェクトを構築するには、[ユーザーセッションの作成]ブロックを使用します)。

Create User Session

DB:ユーザーセッションのソフト削除—ユーザーセッションオブジェクトのDeletedAt属性を更新し、データベースに残します。

Soft Delete User Session

DB:ユーザーセッションの一括削除—データベースから削除されるユーザーセッションオブジェクトのIDのセットを入力として受け入れます。
failed_ids —配列は削除されないIDのセットを定義します。

Bulk Delete User Session

DB:ユーザーセッションのパッチ—データベース内のユーザーセッションオブジェクトの指定されたフィールドを更新します(すべてのフィールドをリセットするには、DB:ユーザーセッションの更新ブロックを使用します)。

Patch User Session

DB:ユーザーセッションの検索—フィールドに基づいてデータベース内の1つ以上のユーザーセッションオブジェクトを検索し、それらを返します。

Search User Session

DB:GetOne User Session —データベース内のUser SessionオブジェクトをそのIDで検索し、それを返します。

GetOne User Session

ユーザーセッションの展開—選択したユーザーセッションオブジェクトのすべてのフィールドを返します。

Expand User Session

ユーザーセッションの作成—指定されたフィールドからメモリ内に新しいユーザーセッションオブジェクトを作成し、それを返します(作成されたオブジェクトをデータベースに保存するには、DB:ユーザーセッションの作成ブロックを使用します)。

Make User Session

  • 認証モジュール

Auth:Generate Auth Token —指定された長さの認証トークン(Auth Token)を生成します。

Generate Auth Token

認証:登録—新しいユーザーを登録します。

Auth: Registration

Auth:Authorization —認証トークンがシステムに存在するかどうかを確認し、それに関連付けられているユーザーを返します。

Auth: Authorization

Auth:Authentification —ユーザーのログインとパスワードをチェックし、認証トークンを返します。

Auth: Authentification

Auth:Logout — Auth Tokenを受け入れ、現在のユーザーセッションを終了します。

Auth: Logout

Auth:Get current user —現在のユーザーのデータを返します。

Auth: Get current user

Auth:グループからユーザーを削除します— ID(Authモジュールの設定で定義)によって指定されたグループからユーザーを削除します。

Auth: Remove user from group

Auth:ユーザーをグループに追加— ID(Authモジュール設定で定義)によって指定されたユーザーグループにユーザーを追加します。

Auth: Add user to the group

Auth:Hash Password —パスワード文字列をハッシュに変換します。

Auth: Hash Password

Auth:Restore Password —ユーザーのユーザー名と新しいパスワードを受け入れ、それによってパスワードをリセットします。

Auth: Restore Password

認証:パスワードの変更—現在のユーザーパスワードを新しいパスワードに置き換えます。

Auth: Change Password

Auth:プローブパスワード—パスワードとハッシュマッチングの検証。

Auth: Probe Password

プロジェクトの作成時に、認証モジュールのエンドポイントとユーザーおよびユーザーセッションモデルが自動的に生成されます。

認証モジュール

リクエストの種類 終点 接続されたBP
post type /ログアウト/認証:ログアウト
post type / auth / Auth:認証
post type /登録/認証:登録
get type /確認/認証:登録
put type / user / change-password認証:パスワードの変更
post type / user / restore-password /認証:パスワードの復元
get type / user / profile /認証:承認

ユーザー

リクエストの種類終点接続されたBP
put type /ユーザーID/ DB:ユーザーの更新
delete type /ユーザーID/ DB:ユーザーを削除
get type /ユーザーID/ DB:GetOneユーザー
get type /ユーザー/ DB:ユーザーの検索
patch type /ユーザーID DB:パッチユーザー
post type /ユーザー/ DB:ユーザーの作成

ユーザーセッション

リクエストの種類終点接続されたBP
delete type / user-session /:id / DB:ユーザーセッションの削除
get type / user-session /:id / DB:GetOneユーザーセッション
get type AppMaster / user-session / DB:ユーザーセッションの検索
patch type AppMaster / user-session /:id / DB:パッチユーザーセッション
post type AppMaster / user-session / DB:ユーザーセッションの作成
put type AppMaster / user-session /:id / DB:ユーザーセッションの更新

Auth Tokenは、許可されたユーザーの現在のセッショントークンとして使用されます。 WebアプリケーションBPでは、次のトークンを操作することができます。

  1. Get Auth Tokenは、現在認証されているユーザーセッションの認証を返します。
    Get Auth Token returns the Auth of the current authenticated user session
  2. Set Auth Tokenは、許可されたユーザーの現在のセッションのAuthTokenを上書きします。
    Set Auth Token
  3. Auth Tokenの削除は、許可されたユーザーの現在のセッションのAuthTokenを削除します。
    Remove Auth Token

この例は、現在のユーザーを取得する方法を示しています。

これを行うには、[ビジネスロジック]タブに移動し、[認証:現在のユーザーブロックを取得]をドラッグします。

次に、作成されたBPのエンドポイントが作成されます。これは、サーバーに接続して現在のユーザーのオブジェクトを取得するために使用されます。

[エンドポイント]セクションでユーザーグループを選択し、新しく作成されたプロセスのGETリクエストメソッドを作成して、現在のユーザーを取得します。

WebアプリケーションBPで、作成されたエンドポイントに要求(サーバー要求GET / user_current)を実行して、現在のユーザーを取得します。

グループと権限

ユーザーグループは、Authモジュールの設定で作成されます。モジュール設定に移動するには、[モジュール]セクションを開き、対応するモジュールのカードをクリックする必要があります。

[グループ]タブには、既存のすべてのグループのリストが含まれています。 [新しい要素の追加]をクリックして、新しいユーザーグループを作成します。新しいモーダルウィンドウでは、グループをカスタマイズしたり、説明、アイコン、アイコンとラベルの色、およびタグを追加したりできます。

pMaster "data-mce-src =" https://ws.apms.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/ ">

既存のユーザーグループを編集するには、Authモジュールの設定にも移動する必要があります。これを行うには、[モジュール]セクションに移動し、対応するモジュールのカードをクリックします。次に、[グループ]タブで、グループのリストが利用可能になります。編集するには、設定アイコンをクリックする必要があります。新しいモーダルウィンドウでは、グループをカスタマイズしたり、グループの説明、アイコン、アイコンとラベルの色、およびタグを変更したりできます。

Editing existing user groups

特定のユーザーグループのデータベース内のエントリの読み取り/書き込みの権限を変更するには、Authモジュールのミドルウェアを使用します。

[エンドポイント]セクションで、読み取り/書き込み権限を変更するエンドポイントを選択します。目的のエンドポイントの設定ボタンをクリックし、開いたモーダルウィンドウの[ミドルウェア]タブに移動します。次に、Token Auth Middlewareの行にある[設定の編集]をクリックして、アクセス権を設定します。

Access to pages in the web application

Webアプリケーションのページへのアクセス:Webアプリケーションに移動し、アクセスを制限するページの[設定]ボタンをクリックする必要があります。

[グループの表示]フィールドで、このページの表示を許可するユーザーグループのリストを選択する必要があります。デフォルトでは、フィールドは空であり、すべてのカテゴリのユーザーにアクセスが許可されています。

Access to pages in the web application 2

結論

ロールごとのデータへのアクセスは、特定のユーザーグループの情報フローを整理するための便利な方法です。ノーコードプラットフォームAppMaster.ioを使用すると、この機能を試用版でテストできます。

この機能に感銘を受けた場合は、この機能、バイナリファイルのエクスポート、定期的なバックアップ、プロジェクトの転送などを含むProfessionalプランを入手してください。 AppMaster.ioプラットフォームで、最も大胆なプロジェクトを実装するのを待っています。