Mur*_*san 15 c# asp.net asp.net-mvc asp.net-mvc-4 asp.net-mvc-5
发行说明页面中的验证过滤器
身份验证过滤器是ASP.NET MVC中的一种新过滤器,它在ASP.NET MVC管道中的授权过滤器之前运行,并允许您为所有控制器指定每个操作,每个控制器或全局的身份验证逻辑.身份验证筛选器处理请求中的凭据并提供相应的主体.身份验证过滤器还可以添加身份验证质询以响应未经授
有人可以提供这方面的实际用途吗?我可以在哪里使用这个AuthenticationFilters?
之前我使用自己CustomAttribute: FilterAttribute, IAuthorizationFilter
和实现来管理动作/控制器的访问控制列表public void OnAuthorization(AuthorizationContext filterContext)
.可以在这里使用此AuthenticationFilter吗?
Wik*_*hla 18
正如文档所述,自定义身份验证筛选器提供每个操作,每个控制器或全局的身份验证.
一个示例用途是仅更改几个选定控制器的身份验证.例如,假设您的整个站点使用表单身份验证,其中主体来自表单cookie.
但是,您有一个选定的控制器充当OAuth2资源服务器,其中请求来自服务提供商(服务器),并且没有表单cookie,而是由服务提供商服务器提供OAuth2访问令牌.
这是自定义身份验证过滤器发挥作用的地方 - 它的任务是仅在当前请求的生命周期内将令牌转换为主体,仅用于充当资源服务器端点的唯一控制器.您不希望整个站点接受OAuth2令牌,而是一个特定的控制器.
引入身份验证过滤器的原因是将身份验证与授权分开,其中:
在引入身份验证过滤器之前,这没有明确分开.就个人而言,我过去常常使用授权过滤器,但是按照这个特定的顺序有两个独立的过滤层(首先是身份验证,然后是授权).
归档时间: |
|
查看次数: |
4901 次 |
最近记录: |