[Authorize]属性如何知道用户在ASP.NET MVC中已通过身份验证令牌进行身份验证?

桑迪普·拉斯戈特拉(Sandeep Rasgotra)

我想知道[Authorize]属性如何识别该用户的身份?

如果用户有效,则我们调用FormsAuthentication.SetAuthCookie()方法,根据MSDN,此方法为:

为提供的用户名创建身份验证票证,并将其添加到响应的cookie集合中;如果使用的是无cookie身份验证,则将其添加到URL。

[Authorize]属性是否检查身份验证票证或cookie收集?

埃里克·冯肯布施

[Authorize]本身不涉及任何身份验证机制。它仅在用户中IIdentity查找IsAuthenticated标志。它还将在usersIsMemberOf方法中查找基于角色的授权。

解码身份验证票证的所有工作都在应用程序管道的早期阶段完成,该阶段设置了这些标志。在调用Authorization Attribute方法时,所有工作已经完成,并存储在用户运行时数据中。

您可以轻松地检查Authorize属性的源代码,并且您会发现它本质上非常简单。它只是基于一些简单的查找而返回true或false。

它在.net核心中变得越来越复杂,因为它基于策略而并非基于策略,但是最初的MVC实现非常简单。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ASP .NET MVC在工作期间进行身份验证并保持用户身份验证的最佳实践

asp.net身份通过链接/ URL进行身份验证asp.net mvc 5

通过存储过程进行 Windows 身份验证和角色身份验证 - mvc asp.net

如何在ASP.NET MVC + Forms身份验证中对Ajax请求进行身份验证

使用身份对ASP.NET MVC中的用户进行身份验证

如何检查用户是否在ASP.NET Core中已通过身份验证

在ASP.NET中对Oracle用户进行身份验证

ASP.NET Core中的承载令牌身份验证

ASP.NET Core中基于令牌的身份验证

如何通过.Net与Azure Databricks进行身份验证?

如何在.Net Core 2.0的Razor页面中检查用户是否已通过身份验证

删除在ASP.NET MVC中通过身份验证的用户

Rails中的Authorize.net-由于无效的身份验证值,用户身份验证失败

如何从 .Net Core API 中的身份验证 JWT 令牌获取身份用户?

使用 ASP.NET MVC 身份作为后端的 Xamarin 身份验证和令牌

在 ASP.NET Core 3.0 中通过 UPN 进行 Active Directory 身份验证

使用ASP.NET MVC中的活动目录进行身份验证

Asp.Net Core和JWT身份验证:如何知道由于令牌过期而导致身份验证失败?

通过ADAL获取来自Azure AD令牌的Asp.Net Core API中基于令牌的身份验证

在ASP.NET MVC中获取经过身份验证的身份用户数据

如何在ASP.NET MVC 4中使用SimpleMembershipProvider拒绝所有通过身份验证的用户访问

通过对用户进行身份验证,使用 ASP.NET MVC 应用程序访问 Azure 订阅信息

ASP.NET MVC 4用户身份验证

我的asp.net mvc Web应用程序将始终检查请求是否已通过身份验证

ASP.NET网站的令牌身份验证

ASP Net Core Identity令牌身份验证到期

ASP NET Core JWT身份验证允许过期的令牌

通过代码而不是“同意屏幕” ASP.net/C#对Google用户进行身份验证

在 ASP.NET Core 2 中使用令牌或 Open ID Connect 进行身份验证