サインイン後のマイクロフローの使用 | Mendix

メインコンテンツへスキップ

サインイン後のマイクロフローの使用

匿名ユーザーを利用する最初のアプリケーションを開発していたとき、私は別の機能に遭遇しました。 Mendix これまで使用したことのないものです。サインイン後のマイクロフローにより、ユーザーはログイン前のデータをログイン プロセスを通じて引き継ぐことができます。このブログで使用されている例では、潜在的なユーザーがログインする前に、購入可能なアイテムのリストを閲覧できるようにしています。

データモデルの設定

ここで注意すべきことが2つあります。1つ目はセキュリティです。匿名ユーザーにアプリケーションへのアクセスを許可すると、誰でもデータを閲覧できるようになります。匿名ユーザーがデータの閲覧とマイクロフローへのアクセスを、使用できるものだけに許可するために、余分な時間をかける必要があります。 非常に 重要。

2 番目は、匿名ユーザーからログインしたユーザーにデータを転送する方法です。この例では、Order エンティティへの関連付けが 2 つあります。1 つは User (匿名ユーザー用)、もう 1 つは Account (ログインしたユーザー用) です。

サインイン後のマイクロフロー

次に、匿名ユーザーと確認済みユーザーの両方がアクセスできるビューを作成する必要があります。このページにはセキュリティが設定され、匿名ユーザーは注文に製品を追加することしかできず、ユーザーは製品の追加に加えて、製品の作成、編集、削除もできるようになります。

匿名アクセス用ホームページ

匿名アクセスのホームページ

注文に商品を追加するマイクロフローでは、注文が適切な関連付けに基づいて作成されるようにする必要があります。匿名ユーザーの場合は「Order_User」関連付けを使用し、そうでない場合は「Order_Account」関連付けを使用します。

匿名ユーザーが商品を注文に追加できるようになったので、次はチェックアウト機能が必要です。ただし、まずはサインインする必要があります。「チェックアウト」マイクロフローでは、ユーザーが「ユーザー」か「アカウント」かを確認します。アカウントの場合はサインイン済みなので、そのままチェックアウトできます。匿名の場合は、ログインを強制します。

このマイクロフローでは、匿名ユーザーをログイン ページに誘導します。次に、ユーザーがログインすると、サインイン マイクロフローを実行します。これは、モデラーのプロジェクト セキュリティ設定で設定します。

プロジェクトのセキュリティ設定

プロジェクトのセキュリティ設定

サインインマイクロフローでは、匿名ユーザーのデータを新しくサインインしたユーザーに転送する必要があります。これは、AnonymousUserの「Order_User」関連付けから注文を取得し、SignedInUserを更新することで実現します。

リストからいくつかのアイテムを選択し、サインインしてカートを表示すると、データが引き継がれました。

ログイン例

匿名で注文する

これまでにこの機能を使ったことがありますか?何か面白い活用方法はありますか?

言語を選択してください