写点什么

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

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

关注

评论

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

在AI时代,挖掘用户真实需求比实现功能更具挑战性——轻量级高性能的macOS屏幕录制工具需求探索

qife122

需求分析 产品优化

首发!百度百科全系能力上线千帆,权威知识增强Agent一键打造

百度Geek说

3D建模解决方案Agisoft Metashape Professional for mac

晨光熹微

二次开发必看!DolphinScheduler 3.1.9 开发环境搭建指南

白鲸开源

大数据 开源 大数据任务调度 Apache DolphinScheduler 二次开发

PhotoSweeper X for Mac 重复照片清理工具

晨光熹微

行业分享丨智能网联时代,电磁仿真如何 “打全场”?

Altair RapidMiner

电磁 汽车 仿真 CAE 航空航天

基础模型选择指南:如何为生成式AI投资保驾护航?

澳鹏Appen

基础模型 生成式 AI 应用 IDC报告

基于YOLOv8的农作物叶片病害、叶片病斑精准识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!

申公豹

yolov8

Airmail 5 for Mac 轻量级邮件客户端

晨光熹微

AeroSpace - macOS上的i3风格平铺窗口管理器

qife122

macos swift

RustRover 2025 for Mac 高效Rust开发工具

晨光熹微

微信公众号/小程序百万级OpenID自动化获取工具

Allen_Lyb

微信

深度解读《指标+ AI 数智应用白皮书》,开辟智能问数与分析决策新范式

袋鼠云数栈

AI 数字化转型 指标 指标管理 数智应用

优测推出HarmonyOS全场景测试服务,解锁分布式场景应用卓越品质!

优测云服务平台

HarmonyOS harmony HarmonyOS NEXT

Package Builder Mac安装包pkg制作工具

晨光熹微

MD文档转换工具Deckset for Mac

晨光熹微

「宇树科技」启动IPO,商业化瓶颈剖析和近30家产业链公司梳理

机器人头条

人形机器人 具身智能 宇树科技 智元机器人

从分析到优化:Amazon Q CLI 助力 EKS 网络调用链剖析与运维实践

亚马逊云科技 (Amazon Web Services)

SeaTunnel 云仓连接器使用指南 | AI 助手解读系列

白鲸开源

开源 云数据仓库 Seatunnel AIGC AI 文档

破 400!Apache SeaTunnel 成为全球开发者共建热土

白鲸开源

人工智能 开源 云数据仓库 Apache SeaTunnel AI 文档

Dropzone 4 for Mac 文件快捷拖放管理工具

晨光熹微

强大专业的HTML文本代码编辑器BBEdit for mac

晨光熹微

以AI智能技术破解中小电商 “服务短板” 困境

极客天地

Plug And Mix VIP Bundle 人声处理插件

晨光熹微

Perfectly Clear Workbench for mac智能图片瑕疵处理工具

晨光熹微

2025 年非关系型数据库全面指南:类型、优势

镜舟科技

sql 数据分析 数据存储 非关系型数据库 StarRocks

结构型模式-架构解耦与扩展实践

不在线第一只蜗牛

架构 开发

万界星空科技铜线/漆包线行业智能化MES系统解决方案

万界星空科技

mes 漆包线mes 铜线mes 漆包线 漆包线工厂

DataSpell 2025 for Mac 专业数据科学家的IDE

晨光熹微

性能优化:两条SQL索引优化,CPU占用率从40%降至25%

电子尖叫食人鱼

数据库 sql

RDS (Relational Database Service) 介绍

SkyBuilds

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