WebApi 控制器生命周期

WebApi Controller Lifecycle

所以,这就是交易。

我有一个带有多个控制器的 WebApi。我有一个身份服务器配置为身份验证。这一切都有效。

当我在 API 上进行调用并传递适当的令牌时,如果我在控制器的任何操作中放置断点,则会正确填充用户对象。

现在,API 操作执行的代码需要与经过身份验证的用户相关的数据。如果我尝试在控制器的构造函数中执行此代码,我的代码将失败,因为用户尚未正确填充。

所以,对于我的问题:Controller 的生命周期中是否有一些我尚未发现的元素,这将允许我为 Controller 上的每个调用执行代码(就像在构造函数中一样)但是在哪里已正确填充用户对象?

用户只有在创建控制器后才能分配好。 ApiControllers 上没有您可以处理的事件。最常见的方法是提取一个方法来检索额外信息并在每个操作中调用它

您可以在 header 中添加某种令牌(加密 UserId/Guid)。您可以使用 header variable/token 在控制器端获取用户 object。