使用登录后微流程 | Mendix

跳到主要内容

使用登录后微流程

当我开发第一个使用匿名用户的应用程序时,我遇到了另一个功能 Mendix 我以前从未使用过。登录后微流程允许用户通过登录过程保留登录前的数据。在本博客中使用的示例中,我们允许潜在用户在登录前浏览可购买的商品列表。

建立数据模型

这里有两件事我们需要注意,第一是安全性。允许匿名用户访问我们的应用程序意味着任何人都可以查看我们的数据。我们必须花额外的时间来确保匿名用户只被允许查看数据和访问他们应该能够使用的微流。这是 非常 重要。

第二个是我们如何将数据从匿名用户传输到登录用户。在此示例中,我们将与订单实体建立两个关联:一个与用户(针对匿名用户),一个与帐户(针对登录用户)。

登录后微流程

接下来,我们需要创建一个匿名用户和已确认用户都可以访问的视图。此页面将设置安全性,以便匿名用户只能将产品添加到他们的订单中,而用户除了可以添加产品外,还可以创建、编辑和删除产品。

匿名访问主页

匿名访问主页

在将产品添加到订单的微流程中,我们需要确保订单是在正确的关联上创建的。如果我们是匿名用户,则需要使用“Order_User”关联;如果不是,则需要使用“Order_Account”关联。

现在,我们为匿名用户提供了一种添加产品到订单的方法,他们需要能够结账。但是,我们希望他们先登录。在“结账”微流程中,我们只需检查他们是“用户”还是“账户”。如果是账户,则表示他们已登录,可以直接结账。如果他们是匿名用户,我们会强制他们登录。

通过此微流程,我们将匿名用户带到登录页面。然后,当他们登录时,我们会运行登录微流程。这是在建模器中的项目安全设置中设置的:

项目安全设置

项目安全设置

在登录微流程中,我们必须将匿名用户的数据转移到新登录的用户。具体方法是从匿名用户的“Order_User”关联中检索订单,并更新登录用户。

现在,如果我从列表中选择一些商品,登录并查看我的购物车,数据就会被转移!

登录示例

匿名下订单

你以前用过这个功能吗?你有什么好玩的用法吗?

选择你的语言