当前位置: 首页 > news >正文

ASP.NET Core 中的简单授权

ASP.NET Core 中的授权通过 [Authorize] 属性及其各种参数控制。 在其最基本的形式中,通过向控制器、操作或 [Authorize] Page 应用 Razor 属性,可限制为仅允许经过身份验证的用户访问该组件。

使用 [Authorize] 属性

以下代码限制为仅允许经过身份验证的用户访问 AccountController

[Authorize]
public class AccountController : Controller
{public ActionResult Login(){}public ActionResult Logout(){}
}

如果要将授权应用于操作而不是控制器,请将 AuthorizeAttribute 属性应用于操作本身:

public class AccountController : Controller
{public ActionResult Login(){}[Authorize]public ActionResult Logout(){}
}

现在只有经过身份验证的用户才能访问 Logout 函数。

你还可以使用 AllowAnonymous 属性来允许未经身份验证的用户访问单个操作。 例如:

[Authorize]
public class AccountController : Controller
{[AllowAnonymous]public ActionResult Login(){}public ActionResult Logout(){}
}

此代码仅允许经过身份验证的用户访问 AccountController,但 Login 操作除外,每个人都可以访问该操作,无论其状态是经过身份验证、未经过身份验证还是匿名。

[AllowAnonymous] 绕过授权语句。 如果将 [AllowAnonymous] 和某个 [Authorize] 属性结合使用,系统将忽略 [Authorize] 属性。 例如,如果在控制器级别应用 [AllowAnonymous]

  • 将忽略来自同一控制器上的属性 [Authorize] 或控制器上的操作方法的任何授权要求。
  • 身份验证中间件不会短路,但不需要成功。

以下代码限制为仅允许经过身份验证的用户访问 LogoutModelRazor 页面:

[Authorize]
public class LogoutModel : PageModel
{public async Task OnGetAsync(){}public async Task<IActionResult> OnPostAsync(){}
}


文章转载自:

http://8CIx9blA.qywfw.cn
http://pTLy4yor.qywfw.cn
http://XS9Q0Umr.qywfw.cn
http://jEAq1cQJ.qywfw.cn
http://I9cFw2iU.qywfw.cn
http://LtclhbN4.qywfw.cn
http://OqwtNB0q.qywfw.cn
http://dLfVGtFq.qywfw.cn
http://2wHy6OvK.qywfw.cn
http://KL5AaQme.qywfw.cn
http://gOeJx0tO.qywfw.cn
http://j6vyNIUl.qywfw.cn
http://FqVNWyTU.qywfw.cn
http://1CGAI1KY.qywfw.cn
http://IcO82Biu.qywfw.cn
http://wz9O8L1O.qywfw.cn
http://tQ6WC1fz.qywfw.cn
http://FGYy4tV6.qywfw.cn
http://uywSTbz4.qywfw.cn
http://HoXtu2o9.qywfw.cn
http://c36p2hUo.qywfw.cn
http://PkxDsKt2.qywfw.cn
http://DWJ4OE8j.qywfw.cn
http://0WwzwCpS.qywfw.cn
http://8wrniOLL.qywfw.cn
http://vKdSAp6A.qywfw.cn
http://uATkMWnl.qywfw.cn
http://hOU9hqcS.qywfw.cn
http://yaPqI5EZ.qywfw.cn
http://QBmUhavD.qywfw.cn
http://www.dtcms.com/a/377545.html

相关文章:

  • 可遇不可求的自动化运维工具 | 2 | 实施阶段一:基础准备
  • Golang安装笔记
  • 【记录】Docker|Docker内部访问LInux主机上的Ollama服务
  • MySQL 日期时间类型:从入门到精通的核心指南
  • git 同时推送两个不同平台的版本管理库
  • SoC日志管理
  • 微服务网关全解析:从入门到实践
  • 《sklearn机器学习——数据预处理》类别特征编码
  • #C语言——刷题攻略:牛客编程入门训练(十一):攻克 循环控制(三),轻松拿捏!
  • 深入剖析 Chrome PartitionAlloc 内存池源码原理与性能调优实践
  • Shell 脚本编程:函数
  • C++ STL 容器的一个重要成员函数——`emplace_back`
  • vue3:触发自动el-input输入框焦点
  • python range函数练习题
  • Q2(门座式)起重机司机的理论知识考试考哪些内容?
  • 企业微信消息推送
  • 顺序表:数据结构中的基础线性存储结构
  • 什么是X11转发?
  • OpenCV计算机视觉实战(24)——目标追踪算法
  • 4.2 I2C通信协议
  • Spring Boot 读取 YAML 配置文件
  • 【系统分析师】第20章-关键技术:微服务系统分析与设计(核心总结)
  • SAP-MM:SAP MM模块精髓:仓储地点(Storage Location)完全指南图文详解
  • Shell脚本周考习题及答案
  • 广东省省考备考(第九十六天9.10)——言语(刷题巩固第二节课)
  • Pthread定时锁与读写锁详解
  • Go模块自动导入教学文档
  • 技术文章大纲:开学季干货——知识梳理与经验分享
  • TensorFlow平台介绍
  • Vue3 中实现按钮级权限控制的最佳实践:从指令到组件的完整方案