【AICon】探索八个行业创新案例,教你在教育、金融、医疗、法律等领域实践大模型技术! >>> 了解详情
写点什么

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

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

关注

评论

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

北京站|活动预告:图创价值 · 图技术 + AI 在金融行业的应用

悦数图数据库

图数据库

真正的云原生大数据平台,让Kubernetes又牛了一把

智领云科技

Kubernetes 云原生大数据平台 智领云 云原生K8s大数据平台

开发运维一体化平台 应用研发全生命周期管理

力软低代码开发平台

彻底搞懂Java继承的五种用法

互联网工科生

Java 编程语言 JNPF

无需点跟踪,克服DragGAN缺陷!中科大联合上海AI Lab发布FreeDrag:可稳定拖动语义内容

Openlab_cosmoplat

低代码项目实战第一弹!2人14天快速构建电商企业供应链管理平台(一)

优秀

低代码 供应链 供应链管理

GoFrame v2.5 版本发布,企业级 Golang 开发框架

王中阳Go

Golang GoFrame 新特性

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

威廉META

Nautilus Chain NautDID NFT 将上主网,Layer3 数字身份时代开启

鳄鱼视界

参加SAFe大规模敏捷企业级培训

顿顿顿

safe 大规模敏捷

C++采用Daemon进行后台程序部署

智趣匠

NFTScan 获得 SpaceID Grant 资金支持!

NFT Research

NFT\

MES与MOM的区别和联系

高端章鱼哥

低代码 mes 制造业生产管理系统

解码 LangChain | LangChain + GPTCache =强强联合

Zilliz

向量数据库 LLM gptcache #LangChain langchain

悦数图数据库v3.5.0发布:查询性能大幅提升,为智能决策和 AI 大模型应用提速

悦数图数据库

AI 图数据库 大模型

来DTT直播间,带你了解openGemini差异化竞争力

华为云开源

开源 时序数据库

一张表实现短视频"评论区"完整功能

北桥苏

实测结果公开:用户见证 StarRocks 存算分离优异性能!

StarRocks

数据库 大数据 数据仓库 OLAP 湖仓一体

2023-07-17:给定一个数组arr,长度为n, 再给定一个数字k,表示一定要将arr划分成k个集合, 每个数字只能进一个集合。 返回每个集合内部的平均值都累加起来最小的值。 平均值向下取整。 1

福大大架构师每日一题

福大大架构师每日一题

PEPE的二代分叉币PEPEP空投和预售正式开启

新消费日报

“拿捏”Kubernetes,智领云让数据应用标准化

智领云科技

云原生 云原生大数据平台 智领云 云原生K8s大数据平台

删除数据库表中重复数据的方法

这我可不懂

数据库 mysql重复数据

这个夏天,追光动画在阿里云上“绘出”《长安三万里》

新云力量

长安三万里

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