0

当我的身份验证处理程序成功通过(userId 取自解密的令牌)时,我想将 userId 添加到当前请求对象的某处。

稍后在管道中,当用户通过身份验证时,授权被执行,在这里我再次需要 userId,因为我必须禁止经过身份验证的用户操纵来自具有特定 userId 的其他用户的数据。

暂时保存userId的最佳方法是什么?我应该滥用 request.headers 来添加 userId 吗?

4

2 回答 2

1

cmon Darrel ...请不要重新发明轮子;)

身份验证处理程序的结果应该是 ClaimsPrincipal(在 HttpAuthenticationContext.Principal 上设置)。

通过这种方式,您可以使用户 ID 可用于授权过滤器 - 以及 ApiController.User。

于 2014-01-18T16:34:27.527 回答
0

HttpRequestMesssage.Properties。它是一个为存储请求范围数据而设计的字典。

于 2014-01-18T16:02:29.787 回答