HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

2020年秋招阿里136道Java高级岗面试题(含答案及复习资源)

Java架构之路

Java 程序员 面试 算法 编程语言

光大银行刘淼:基于华为云GaussDB(DWS) 数据仓库创新实践

华为云开发者联盟

数据仓库 数据 huawei

EffectiveJava读书笔记-01-对象创建与销毁

wander

读书笔记 编程开发

架构师训练营第四周作业

郎哲158

31道Java核心面试题,一次性打包送给你

小Q

Java 学习 程序员 架构 面试

MySQL-技术专题-问题分析

洛神灬殇

spring-boot-route(十)多数据源切换

Java旅途

Java Spring Boot

来不及解释了,快上车!力软快速开发平台,助力企业搭乘万物互联的顺风车

Learun

PyFlink + 区块链?揭秘行业领头企业 BTC.com 如何实现实时计算

Apache Flink

flink

建筑行业区块链应用场景是怎样的

CECBC

区块链 行业资讯

节日快乐…吗?

小天同学

个人感悟 国庆中秋 假期 节日

互联网应用系统技术方案主要解决什么问题?

博古通今小虾米

技术实操丨SoundNet迁移学习之由声音分类到语音情感识别

华为云开发者联盟

AI 数据 语音识别

lldb常用命令与调试技巧

iOSer

ios lldb常用命令 lldb调试技巧

Java程序员月薪多少K才能在北上广买得起房?

Java架构之路

Java 程序员 编程语言

从构建小系统到架构分布式大系统,Spring Boot2的精髓全在这里了

Java架构之路

Java 程序员 面试 Spring Boot 编程语言

MySQL-技术专题-主从复制原理

洛神灬殇

国庆期间,我造了台计算机

yes

计算机 底层

Python时间序列分析简介(2)

计算机与AI

Python 时间序列

开源=免费?

Learun

Nacos-技术专题-配置中心实现

洛神灬殇

区块链是一个不知道要解决什么问题的解决方案吗?

CECBC

比特币 区块链 银行

MySQL-技术专题-查询速度性能

洛神灬殇

Web前后端:如何分离,如何解耦?

华为云开发者联盟

大前端 后端 开发

深入分析CRM系统对现代企业的作用

Learun

架构师训练营第四章 系统架构总结

郎哲158

字节跳动 Flink 单点恢复功能实践

Apache Flink

flink

程序员去外包真的不可取吗?

Java架构师迁哥

开源数据库这么香,为什么我们还要下功夫自研?

华为云开发者联盟

数据库 开源 数据

架构师训练营1期第三周作业

木头发芽

SpringBoot-技术专题-启动原理

洛神灬殇

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