WebApi控制器生命周期

时间:2016-07-18 16:20:13

标签: c# oauth-2.0 authorization asp.net-web-api2 lifecycle

所以,这就是这笔交易。

我有一个带有许多控制器的WebApi。我有一个身份服务器配置为身份验证。一切正常。

当我在API上调用并传递相应的令牌时,如果我在Controller的任何Actions中放置断点,则会正确填充User对象。

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

所以,我的问题是:控制器生命周期的某些元素,我还没有发现,这将允许我为Controller上的每个调用执行代码(就像在构造函数中一样)但是User对象已正确填充?

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您可以在标头中添加某种令牌(加密的UserId / Guid)。您可以使用标头变量/标记来获取控制器端的User对象。