为什么auth中间件声明的顺序在Owin Startup类中很重要?

时间:2017-03-14 15:54:34

标签: c# asp.net-web-api owin owin-middleware

我阅读了一些关于在使用web api时在owin管道中设置身份验证的示例(1234),示例声明了 身份验证中间件作为Configuration方法中的第一个中间件,但没有告诉它为什么需要首先使用它。

this问题中,auther在身份验证中间件之前附加了webapi中间件,然后身份验证无法正常运行。 当auther将它移动到方法的顶部时,一切都按预期工作..

有谁知道为什么需要将身份验证中间件添加为启动配置方法中的第一个中间件?

1 个答案:

答案 0 :(得分:5)

OWIN是一个责任链。第一个中间件将首先被触发,第二个中间件将被触发,依此类推。

在开头使用身份验证中间件允许您拥有管道其余部分的用户信息。

如果要将其添加到管道的中间或末尾,则在调用此中间件之前无法访问用户信息。