• Identity基于角色的访问授权


    详情访问官方文档

    例如,以下代码将访问权限限制为属于角色成员的用户的任何操作 AdministrationController Administrator :

    [Authorize(Roles = "Administrator")]
    public class AdministrationController : Controller
    {
    }

    可以将多个角色指定为逗号分隔列表:

    [Authorize(Roles = "HRManager,Finance")]
    public class SalaryController : Controller
    {
    }

    此控制器仅可供作为角色或角色成员的用户访问 HRManager Finance 。

    如果应用多个属性,则访问用户必须是所有指定角色的成员;下面的示例要求用户必须是 PowerUser 和角色的成员 ControlPanelUser 。

    [Authorize(Roles = "PowerUser")]
    [Authorize(Roles = "ControlPanelUser")]
    public class ControlPanelController : Controller
    {
    }

    您可以通过在操作级别应用其他角色授权属性来进一步限制访问权限:

    [Authorize(Roles = "Administrator, PowerUser")]
    public class ControlPanelController : Controller
    {
        public ActionResult SetTime()
        {
        }
    
        [Authorize(Roles = "Administrator")]
        public ActionResult ShutDown()
        {
        }
    }

    在前面的代码片段中 Administrator ,角色或角色的成员 PowerUser 可以访问控制器和 SetTime 操作,但只有角色的成员 Administrator 才能访问该 ShutDown 操作。

    你还可以锁定控制器,但允许对单个操作进行匿名、未经身份验证的访问。

    [Authorize]
    public class ControlPanelController : Controller
    {
        public ActionResult SetTime()
        {
        }
    
        [AllowAnonymous]
        public ActionResult Login()
        {
        }
    }
  • 相关阅读:
    工作流数据结构
    CssFrindly使用
    .NET平台BPM
    关于SQL SERVER高并发访问的解决办法
    Asp.net防止后退(清除页面缓存)
    Attaching the Script debugger to process ‘[****]’ on machine **** failed.
    FlowWork学习(数据库部分)
    SQL Server 存储过程
    AjaxControlToolkit的安装与使用详解
    Cantor定理的一种好表述
  • 原文地址:https://www.cnblogs.com/liessay/p/13213587.html
Copyright © 2020-2023  润新知