写点什么

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:538643
用户头像

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

关注

评论

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

「一体化信息建设」,江苏人社如何完成数据安全管控(成果篇)

BinTools图尔兹

运维 数据安全 数据库管理 数据库操作

登上CHINA DAILY!用友向全球展现中国数智力量

用友BIP

企业数智化

浅析建筑行业财务管理数智化转型

用友BIP

企业数智化

【Spring Cloud 】基于微服务架构的智慧工地云平台源码带APP

源码星辰

智慧工地 智慧工地云平台

编程和数学计算软件MATLAB R2023b for Mac v23.2.0

展初云

matlab Mac软件 MATLAB R2023b

异构集成:财务共享如何成为数据聚合、分发的控制枢纽

用友BIP

财务共享

如何充分压榨一台EC2

申屠鹏会

主流的第三方直播SDK对比(腾讯云、即构、阿里云、声网、网易云信、网宿)

音视频开发_AIZ

实时音视频 直播技术 SDK测试 音视频开发 直播间

陈长城:NineData面向Doris实时数仓集成的技术实践

NineData

数据库 实时数仓 Doris 玖章算术 NineData

喜讯!云起无垠入选《2023年中国AIGC创新企业榜》

云起无垠

业内首发!用友BIP全球司库助力大型企业实现虚假贸易“零容忍”!

用友BIP

全球司库 虚假贸易

CPU 程序性能优化

MegEngineBot

性能优化 cpu 硬件 编译器

InDesign 2024 for mac(页面设计和版面应用程序)

展初云

adobe Mac软件 InDesign 2024 下载 InDesign

如何基于亚马逊云科技打造高性能的 SQL 向量数据库 MyScale

亚马逊云科技 (Amazon Web Services)

机器学习 深度学习 存储 Amazon EC2 向量数据库

预发部署时机器总是重启两次的“简单”排查

阿里技术

部署 故障排查 排查 预发 重启

利用ETLCloud自动化流程实现业务系统数据快速同步至数仓

RestCloud

ETL

什么是软件定制开发?|app网站小程序定制

Geek_16d138

网站建设 app定制开发 软件定制开发

OmniGraffle Pro 7 for mac(绘图软件)

展初云

Mac OmniGraffle Pro 专业绘图软件

数据库大事记

小齐写代码

基于数据中台的过程看板助力光伏单晶行业管理提升

用友BIP

数据中台

四载磨砺,一群青年“识瘤者”以AI助力医疗创新

华为云开发者联盟

人工智能 华为云 华为云开发者联盟 先锋开发者云上说

如何用AB测试完善产品激励体系

字节跳动数据平台

大数据 A/B 测试 对比实验

轻松一刻|Walrus CLI与CI/CD工具集成,轻松部署2048游戏

SEAL安全

游戏 CI/CD Walrus 企业号11月PK榜

The Foundry Nuke 15 for Mac(电影特效合成软件)

展初云

Mac nuke 特效合成软件

关于圆通物流在AppLink上的操作

RestCloud

APPlink

在小红书认识不到一周,我和TA成为了同事

用友BIP

智能招聘

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