写点什么

ASP.NET MVC 5 改进了基于过滤器的身份验证

  • 2013-09-09
  • 本文字数:764 字

    阅读完需:约 3 分钟

ASP.NET MVC 5 包含在最近发布的 Visual Studio 2013 开发者预览版中,它使开发人员可以应用身份验证过滤器,它们提供了使用各种第三方供应商或自定义的身份验证提供程序进行用户身份验证的能力。不过,这些过滤器要在调用授权过滤器之前应用。

为了创建身份验证过滤器,开发人员需要新建一个 C#ASP.NET 工程,并且从列出的工程类型中选择 MVC。来自 Kunz,Leigh&Associates 公司的高级软件开发工程师 Eric Vogel 已经测试了身份验证过滤器的用法。他创建了一个自定义过滤器,如果用户未通过身份验证,就将其重定向回登录页面。

Eric 创建了一个 CustomAttributes 目录和一个新类 CustomeAttribute,该类继承了

复制代码
ActionFilterAttribute 和 IAuthenticationFilter:
public class BasicAuthAttribute: ActionFilterAttribute,IAuthenticationFilter

接口 IAuthenticationFilter 的 OnAuthentication()方法可以用于执行任何需要的身份验证,而 OnAuthenticationChallenge 方法基于已验证用户的身份限制其访问。

OnAuthenticationChallenge 方法接收 AuthenticationChallengeContext 参数,其实现代码如下所示:

复制代码
public void OnAuthenticationChallenge(AuthenticationChallengeContext filterContext)
{
var user = filterContext.HttpContext.User;
if (user == null || !user.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}

读者可以从 Eric 的博文获得完整的源代码。BasicAuthAttribute 类很容易测试,打开 HomeController 类文件,并添加下面的代码即可:

复制代码
using VSMMvc5AuthFilterDemo.CustomAttributes;

最后,将自定义属性应用到 HomeController 类,如下所示:

复制代码
[BasicAuthAttribute]
public class HomeController : Controller

查看英文原文: Improved Authentication with Filters in ASP.NET MVC 5

2013-09-09 07:538785
用户头像

发布了 256 篇内容, 共 93.6 次阅读, 收获喜欢 12 次。

关注

评论

发布
暂无评论
发现更多内容

阿里云消息队列升级全新品牌 ApsaraMQ丨阿里云云原生 3 月产品月报

阿里巴巴云原生

阿里云 云原生

每帧纵享丝滑——ToDesk云电脑、网易云游戏、无影云评测分析及ComfyUI部署

中杯可乐多加冰

无影云电脑 云电脑 云电脑平台 云电脑云桌面

龙智DevSecOps解决方案:集成Jira/Confluence/HelixCore/SonarQube等知名工具的技术实践与协作场景演示

龙智—DevSecOps解决方案

如何使用Plotly和Dash进行数据可视化

华为云开发者联盟

Python 数据可视化 华为云 华为云开发者联盟 企业号2024年4月PK榜

服务化UI页面结构树解析:优化UI自动化测试的实践探索

测吧(北京)科技有限公司

测试

平台工程在企业数字化转型中的战略价值

SEAL安全

DevOps 运维 IaC 平台工程

熬夜整理的2W字DDD学习笔记

Java随想录

Java 设计模式 DDD

解析数据科学,探索ChatGPT背后的奥秘

百分点科技技术团队

人工智能 数据科学 百分点科技 ChatGPT

更优性能与性价比,从自建 ELK 迁移到 SLS 开始

阿里巴巴云原生

阿里云 云原生 日志服务 sls

ETL快速同步 用友u8数据方式

RestCloud

数据同步 用友 ETL

华为云OBS助力物联网数据转发与存储

华为云开发者联盟

云计算 物联网 华为云 华为云开发者联盟 企业号2024年4月PK榜

利用技术提升UI自动化测试的准确性

测吧(北京)科技有限公司

测试

深度解读《深度探索 C++ 对象模型》之C++对象的内存布局

爱分享

c++ 内存 代码分析 C++对象模型 C++编程规范

拥抱信创新篇章,行云绽放麒麟软件携手认证

行云管家

信创 国产化 麒麟

IDC最新数据:2023年浪潮信息存储跃居中国前二

财见

YashanDB亮相数据技术嘉年华,展自主创新力量

YashanDB

利用技术提升UI自动化测试的准确性

测吧(北京)科技有限公司

Python黑科技揭秘:多窗口操作不再是难题,这些技巧让你轻松搞定

测吧(北京)科技有限公司

测试

图像目标检测的PyTorch实现:探索深度学习在目标识别中的应用

测吧(北京)科技有限公司

测试

自然语言处理技术原理

测吧(北京)科技有限公司

测试

静态代码分析的这些好处,我竟然都不知道?

禅道项目管理

程序员 软件开发 自动化测试 知识分享 静态代码分析

ODI(境外投资备案)作用、类别和申请流程详解

商业开源MES+源码+送可拖拽式数据大屏

万界星空科技

开源 源码 制造业 mes 开源mes

数据闭环的建立:确保模型发展的可持续性

测吧(北京)科技有限公司

测试

【合合TextIn】智能文档处理系列—电子文档解析技术全格式解析

合合技术团队

OCR 格式转换 合合信息 文档转换 智能文档

NFTScan | 04.08~04.14 NFT 市场热点汇总

NFT Research

NFT NFT\ NFTScan

ASP.NET MVC 5改进了基于过滤器的身份验证_安全_Anand Narayanaswamy_InfoQ精选文章