如何将数据从 AuthorizeAttribute 传递到控制器?
我创建了一个自定义 AuthorizeAttribute,它验证在 HTTP 标头内发送的一些 OAuth 凭据。我正在使用其中一些凭据来识别发出请求的人。一旦我在 AuthorizeAttribute 中解析此信息,是否有任何方法可以传递它,以便将数据分配给控制器的实例变量?然后我的控制器中的任何地方都会有请求方的 ID。
I have created a custom AuthorizeAttribute which verifies some OAuth credentials that are sent inside the HTTP header. I am using some of these credentials to identify who is making the request. Once I parse this information in the AuthorizeAttribute is there any way to pass it over so that the data can be assigned to an instance variable of the Controller? Then anywhere in my Controller I will have the ID of the requesting party.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
原始答案
您应该能够在过滤器中执行此操作
然后在您的操作中
您可能希望使用比
“test”更唯一的键
,但这就是想法。编辑 我们在操作而不是构造函数中执行此操作有两个原因:
替代解决方案
OAuthController : Controller
OnAuthorization
OAuthController.OnAuthorization
OAuthController
中的protected
字段(即protected object myAuthData
)OAuthController
而不是控制器
myAuthData
。Original answer
You should be able to do this in your filter
And then this in your action
You'd probably want to use a more unique key than
"test"
, but that's the idea.EDIT There are two reasons we do this in the action rather than the constructor:
Alternative solution
OAuthController : Controller
OnAuthorization
OAuthController.OnAuthorization
protected
field (i.e.,protected object myAuthData
) inOAuthController
OAuthController
instead ofController
myAuthData
.