2016-07-18 60 views
0

所以,这是交易。WebApi控制器生命周期

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

当我在API上调用并传递适当的标记时,如果我在Controller的任何Actions中放置了一个断点,则User对象将被正确填充。

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

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

回答

1

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

+1

我有一个可怕的感觉,真的是这样。 –

0

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