【发布时间】:2017-08-03 07:52:49
【问题描述】:
现在,我的用户表有一个名为 Admin 的布尔值。如代码所示,如果 user.admin = true,用户可以看到管理区域按钮并访问它。
@if (Common.UsuarioLogueado.Admin) {
<li><a href="@Url.Action("List","ClientesAdmin",new { Area = "Admin" })">Admin control panel</a></li>
}
这是按预期工作的。但是,非管理员用户仍然可以通过访问它的 url http://localhost/appName/admin/ClientesAdmin/list 来访问控制面板
我该如何防止这样的事情发生?我正在考虑显示错误消息
【问题讨论】:
-
Google AuthorizeAttribute - 用于由经过身份验证的用户或角色保护的属性。
-
创建一个 FilterAttribute 来管理您所期望的安全性
-
你需要的是ASP MVC中的
Roles,你可以在网上找到大量的示例。
标签: c# asp.net-mvc