上次已经实现了菜单权限的配置,达到了不同角色的用户显示不同的菜单。但这里还有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这个控制器也是没有问题的。
如对本文有疑问,
点击进行留言回复!!
相关文章:
-
-
四 领域驱动设计-分离领域
[toc] 模型驱动设计的构造块 分离领域 在软件中,虽然专门用于解决领域问题的那部分通常只占整个软件系统的很小一部分,但其却出乎意料的重要。我们需要着...
[阅读全文]
-
-
运用领域模型-绑定模型和实现
[toc] 领域驱动设计 运用领域模型 绑定模型和实现 聪明的项目组成员花费了几个月的时间进行仔细的研究并且开发出了详尽的领域模型(类图)。然而对类图研...
[阅读全文]
-
运用领域模型-消化知识
[toc] 运用领域模型 消化知识 非原创,感谢《领域驱动设计》这本书 有效建模的要素 (1) 模型和实现的绑定。最初的原型虽然简陋,但它在模型与实现之...
[阅读全文]
-
-
为啥看领域驱动设计
[toc] 领域驱动设计 非原创,感谢《领域驱动设计》这本书 有很多因素会使软件开发复杂化,但最根本的原因是问题领域本身错综复杂。如果你要为一家人员复杂...
[阅读全文]
-
运用领域模型
[toc] 运用领域模型说明 非原创,感谢《领域驱动设计》这本书 模型是什么 模型被用来描绘人们所关注的现实或想法的某个方面。模型是一种简化。是对现实的...
[阅读全文]
-
-
-
网友评论