写点什么

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

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

关注

评论

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

把Mybatis Generator生成的代码加上想要的注释

京东科技开发者

Ngnix常用配置及和基本功能讲解

京东科技开发者

源2.0大模型适配LLaMA-Factory框架 微调训练快捷高效

财见

关于MySQL日期函数你不知道的用法

不在线第一只蜗牛

MySQL 数据库 前端 日期工具

代码注释是程序员必备的技能吗?

小魏写代码

实战讲解|Trino 在袋鼠云数栈的探索与实践

袋鼠云数栈

大数据 前端 计算引擎 trino

cad2022破解版安装教程 附autocad2022注册机【Mac/win】

南屿

AutoCAD 激活版 CAD绘图软件 cad 2022安装教程 AutoCAD2022序列号

以DataOps一体化之道,助力研发治理提质增效

鲸品堂

Data 运营商 一体化

电影特效合成软件:NUKE 14.1v1 for Mac安装教程

南屿

NUKE 14 电影特效合成软件 NUKE下载

illustrator 2024中文破解版 含AI2024激活补丁【Mac/win】

南屿

AI2024破解版 矢量图形设计工具 Illustrator 2024下载 Illustrator 2024中文版

万界星空科技MES系统中的生产防错功能

万界星空科技

MES系统 mes 万界星空科技 生产管理 数字化车间

FastAPI 并发请求:打造更快的Web应用

Liam

程序员 性能优化 并发编程 后端 FastApi

全国高校计算机类课程能力提升高级研修班(2024年第一期)来了!

云计算 软件开发 华为云

音乐编辑软件Studio One 6 Pro新功能介绍 含Studio One 6破解注册机

南屿

音乐制作 Studio One 许可证 Studio One 破解 Studio One 6下载

MacOS远程管理软件哪款好?Royal TSX for Mac v6.0.2激活版

南屿

Royal TSX 教程 MacOS远程管理 Royal TSX mac破解版

Hex-Rays IDA Pro(交互式反汇编工具) v7.7汉化版

南屿

IDA Pro 静态反编译工具

探究低代码平台

互联网工科生

低代码 JNPF

基于 Flink 的实时数仓在曹操出行运营中的应用

Apache Flink

《高效能笔记法》读后感

凌晞

结构化思维 冰山模型

制造业各种管理系统介绍及集成

万界星空科技

MES系统 ERP mes 万界星空科技 万界星空科技mes

CleanShot X为什么不能识别文字?CleanShot X文字识别教程

南屿

OCR识别 CleanShot X Mac截图软件

软件测试/测试管理训练营马上开营! 快来免费领取试听课吧~

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

测试

论学习方式和知识结构

凌晞

学习方法

macOS Catalina for mac (macos 10.15系统)v10.15.7正式版

南屿

mac系统 苹果系统下载 macos 10.15系统

[杂谈]字符串操作-两个数组之间的重排序

alexgaoyh

重排序 数组 字符串 数组之间

软件测试 | 拒绝上市公司的 Offer,选择自己喜爱的行业,这么从容不迫他凭什么?

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

测试

第一个程序:HelloWorld——IDEA 使用

小魏写代码

交互式产品原型设计工具 Axure RP 9汉化授权版 【Mac/win】

南屿

Axure RP 9汉化 Axure RP 9授权码 Axure RP 9破解版 原型设计工具

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