是否可以设置实例变量或从自定义授权属性将数据传递给控制器​​?

时间:2013-11-13 18:42:46

标签: c# .net asp.net-web-api authorization

我有一个authorize属性,它扩展了System.Web.Http.AuthorizeAttribute并覆盖了onAuthorization方法。它使用来自请求的令牌查询数据库,以查看会话是否有效。从那以后,它知道关联的userId。我想以某种方式使userId可用于被调用动作的控制器。以某种方式设置实例变量将是理想的,因为我想对控制器进行单元测试。也许这是不可能的,或者有更好的方法去做。请告诉我。我正在使用ApiController。

由于

1 个答案:

答案 0 :(得分:0)

不确定这是否是处理这种情况的合适方法,但要回答我的问题,可以使用actionContext.ControllerContext.Controller。从那里我可以调用一个setter或设置一个公共实例变量请让我知道这是一个坏方法。关于REST的会话,我不太关心纯REST实现。