欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET Zero--7.控制器加权限

程序员文章站 2022-06-19 10:26:39
上次已经实现了菜单权限的配置,达到了不同角色的用户显示不同的菜单。但这里还有BUG,如果你直接访问http://localhost:8019/Mpa/Test这个控制器时,并使用"Default"租户管理员登录,虽然菜单看不到,但却能显示出页面内容。这就存在一个安全隐患。现在来对这个控制器进行权限控 ......
上次已经实现了菜单权限的配置,达到了不同角色的用户显示不同的菜单。但这里还有BUG,如果你直接访问http://localhost:8019/Mpa/Test这个控制器时,并使用"Default"租户管理员登录,虽然菜单看不到,但却能显示出页面内容。这就存在一个安全隐患。现在来对这个控制器进行权限控制。 1.打开TestController.cs 【..\MyCompanyName.AbpZeroTemplate.Web\Areas\Mpa\Controllers\TestController.cs】 控制器上面加入注解,如下代码:
[AbpMvcAuthorize(AppPermissions.Pages_Administration_Test)]
    public class TestController : Controller
    {
        // GET: Mpa/Test
        public ActionResult Index()
        {
            return View();
        }
    }
  2.生成项目 生成项目,访问http://localhost:8019/Mpa/Test这个控制器,并使用"Default"租户管理员登录,这时会发现系统一直登录不了,因为我没有给"Default"租户中的管理员分配"测试"这个权限,所以系统判断"Default"租户中的管理员没有"测试"这个权限时,跳转再次要求登录。   3.分配权限 现在让"Default"租户中的管理员也拥有"测试"权限,访问http://localhost:8019/Mpa,并用"Default"租户管理员登录,切换到角色功能,修改Admin角色,勾选上"测试"权限,保存刷新页面,现在可以看到菜单了。再次访问http://localhost:8019/Mpa/Test这个控制器也是没有问题的。