写点什么

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

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

关注

评论

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

AI自动化Bug发现:提升软件质量保障

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

测试

AI 辅助测试框架搭建:简化测试工作流

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

测试

2023 IoTDB Summit:清安储能技术(重庆)有限公司高级 Java 工程师杨泰贤《IoTDB 在清安云能源数据集成的解决方案》

Apache IoTDB

灌电流与拉电流的含义及电路解析

芯动大师

35岁,走出焦虑

芃篙君

#深度思考

第十周作业

大肚皮狒狒

AI自动生成测试用例思维导图

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

测试

The Captainz NFT 概览与数据分析

Footprint Analytics

NFT 数字藏品

私有版语言模型开发:保障数据隐私与安全

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

测试

Meta Llama 大模型:强大的 AI 能力支持

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

测试

5分钟教你搭建chatgpt,结合midjourney上线即可运营

aiisai

ChatGPT MidJourney chatgpt app

第十一周作业

大肚皮狒狒

适用于 Amazon Step Functions 的低代码可视化新工作流 Workflow Studio, 现已在 Amazon Application Composer 正式发布!

亚马逊云科技 (Amazon Web Services)

低代码 亚马逊云科技 Amazon Lambda Amazon Step Functions

浅谈iPaaS对企业转型的重要性

RestCloud

应用集成 ipaas

《计算机程序设计艺术(第3卷):排序与查找》PDF

程序员李木子

流计算不止Flink

WuKongCoder

flink 流式计算 RisingWave

AI助力测试:高效批量生成测试数据方案实现

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

测试

AI加速测试流程:自动化测试脚本生成方案实现

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

测试

个性化AI应用:定制专属学习助手

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

测试

企业专属语言模型与知识图谱:定制化智能解决方案

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

测试

聊聊PowerJob的CleanService

伤感汤姆布利柏

深入了解 Java 方法和参数的使用方法

小万哥

Java 程序人生 编程语言 软件工程 后端开发

第九周作业

大肚皮狒狒

Frappe RestAPI 的filters的写法

麦兜

Vue框架与前端部署:构建现代化Web应用的利器

不在线第一只蜗牛

Vue 前端框架 web开发 Vue 3

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