当你的应用程序正在运行时,你经常需要知道谁在运行某些进程。这是必要的,以便正确地分配数据和授予或限制对不同资源的访问。这个功能几乎在每个应用程序中都会用到。

如何在AppMaster中识别当前用户

在后台方面

有一个Auth:获取当前用户 "块来检测当前用户。它是由Auth模块提供的。你可以在左边的后台标签中的业务流程编辑器中找到它。

Get Current User block in AppMaster

该块从用户数据库中返回一条属于运行该块的用户的记录。

重要的是

Auth:获取当前用户块只对授权用户起作用。在所有其他情况下,该块的结果将是未定义的。

通过这个简单的方法,我们可以得到我们应用程序的当前用户。然而,这个块只存在于后端,但在大多数情况下,它需要在应用程序的前端识别用户。

在前台方面

为了从前台运行后台的进程,我们使用了端点。你可以在这篇文章中找到关于它们的更多信息。

对于Auth:获取当前用户块,你需要创建一个新的端点,就像下面的截图中所做的那样。

Get Current User block

为了从前端调用该端点,必须使用服务器请求GET /user/get-current块(在当前情况下)。端点的使用流程对于Web和移动应用程序是相同的。

Server Request GET

与当前用户一起工作

让我们看看Auth.Get的一些例子。获取当前用户块的用法。该块本身从用户表中返回一条记录。为了从记录中获得特定的数据,你需要用Expand User块来扩展这个记录。

Get Current User

输出的所有字段都可以以特定的方式使用。例如,为了检查用户账户是否被确认,可以使用布尔类型的Confirmed字段,如下图所示。

AppMaster

参数与

输出中的参数指定请求是否需要使用相关的表来执行。因此,例如,要从用户会话表中获取当前用户对象的数据(即当前用户会话的列表),你需要指定with字段的值来搜索相关的表(本例中的用户会话)。

Parameter With

重要的是!

With参数使查询变得复杂,因此增加了处理时间。它在默认情况下不使用,只有在必要时才使用。

结论

在这篇文章中,我们学习了如何在后端和前端确定应用程序的当前用户。这个功能是应用程序开发中最经常使用的功能之一。使用AppMaster,你可以通过一些业务流程块的组合来轻松执行这些请求。