asp.net-mvc – 如何限制对MVC 5中某些视图和操作的访问?
发布时间:2020-12-16 07:37:39 所属栏目:asp.Net 来源:网络整理
导读:我有三个名为Category,Subcategory和Service的模型.然后,对于每个人,我使用Entity Framework创建了一个控制器,它还为它们创建了视图.因此,我都有单独的创建,删除,编辑,详细信息和索引视图.关键是我还在我的ApplicationUser类中添加了一个属性,用于检查用户是
我有三个名为Category,Subcategory和Service的模型.然后,对于每个人,我使用Entity Framework创建了一个控制器,它还为它们创建了视图.因此,我都有单独的创建,删除,编辑,详细信息和索引视图.关键是我还在我的ApplicationUser类中添加了一个属性,用于检查用户是否为admin.也就是说,我添加了这个属性:
public bool IsAdmin { get; set; } 所以,重点是,我想检查用户是否是管理员,并采取相应的行动.如果用户是管理员,我希望他/她能够查看这些视图,并通过这些视图简单地操纵数据(使用控制器).但是,如果他/她不是管理员,我想显示一条消息,他/她没有权限查看这些页面并更改数据.我怎样才能在MVC中实现它?可能吗? 解决方法
嗯,首先,你会发生这种错误.虽然您可以使用用户类上的属性来实现您想要的功能,但您基本上必须重新实现MVC和Identity已经为您提供的功能.
所以,不要把你带到兔子洞的下方,我会把你拉回来.首先,“admin”状态应该是一个角色.如果用户是管理员,只需给他们一个“管理员”或“管理员”角色或任何你想要的角色. 然后,在您的控制器/操作中,您可以使用Authorize属性并指定可接受角色的列表.例如,以下内容将整个控制器限制为仅具有“Admin”角色的控制器: [Authorize(Roles = "Admin")] public class FooController : Controller 如果该控制器中存在任何人应该能够访问,登录或未登录的特定操作,您仍然可以保护整个控制器,但在相关操作上使用AllowAnonymous: [Authorize(Roles = "Admin")] public class FooController : Controller { [AllowAnonymous] public ActionResult UnprotectedAction() { ... } } 您也可以直接在您的操作上添加Authorize属性: [Authorize(Roles = "Admin")] public ActionResult AdminOnlyAction() { ... } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – HttpPostedFileBase总是在ASP.NET MVC中返回
- asp.net – RequireNonLetterOrDigit未正确验证
- AspNet MVC中各种上下文理解
- asp.net – ASP MVC – 创建目录路径而不是文件路径的Bundl
- asp.net-web-api – ASP.NET WebApi测试 – 断言请求返回40
- asp.net-mvc – 将.html文件渲染为ASP.NET MVC中的视图
- asp.net-mvc – 用于Bookmarked Angular SPA URL的ASP.NET
- 如何在ASP.NET页面上注册自定义服务器控件
- ASP.NET MVC不适用于ViewState和Postback?
- asp.net-mvc – 在ASP.NET MVC ContactsManager教程中是否有
推荐文章
站长推荐
- asp.net-mvc – 为什么不在View中使用Linq
- asp.net – Http错误503的自定义错误页面
- asp.net-mvc – 路由测试ASP.NET MVC4
- ASP.NET AJAX – AJAX控件工具包 – jQuery – 哦
- .net – ASP MVC HTML Helpers – 好还是坏?
- asp.net 虹软人脸识别 释放内存
- .net – RESTful WCF的裸最低配置
- asp.net-mvc-3 – 在仅HTTPS站点上对HTTP HEAD请
- ASP .NET C#从Web路径中的文件中获取所有文本
- asp.net-mvc – ASP.net Web API和System.Net.Ht
热点阅读