asp.net-MVC – ASP.NET MVC:我可以说[授权角色=“管理员”]在
发布时间:2020-12-16 07:15:06 所属栏目:asp.Net 来源:网络整理
导读:我开始使用默认项目的AccountController,但我已将其扩展/更改为无法识别.但是,与原来一样,我有一个LogOn和LogOff动作. 显然,每个人都必须能够访问LogOn操作.但是,由于我已向此控制器添加了许多其他操作(以创建和编辑用户),因此我希望99%的操作都需要管理员
我开始使用默认项目的AccountController,但我已将其扩展/更改为无法识别.但是,与原来一样,我有一个LogOn和LogOff动作.
显然,每个人都必须能够访问LogOn操作.但是,由于我已向此控制器添加了许多其他操作(以创建和编辑用户),因此我希望99%的操作都需要管理员角色成员资格. 我可以使用[授权角色=“管理员”]来装饰我的所有行为,但是我会忘记一个冒险.我宁愿通过使用该属性修饰控制器类本身来使其安全,然后放宽对我的LogOn方法的要求.我能这样做吗? (因为,我可以在不创建自定义类的情况下开箱即用,等等.我不想让事情变得复杂得多.) 解决方法
要在Action级别覆盖控制器Attribute,您必须创建自定义Attribute,然后将自定义属性的Order属性设置为比控制器AuthorizeAttribute更高的值.我相信这两个属性仍然会执行,除非您的自定义属性生成一个立即生效的结果,如重定向.
有关更多信息,请参见Overriding controller AuthorizeAttribute for just one action. 所以我相信你的情况你只需要在Actions上添加AuthorizeAttribute而不是在控制器级别.但是,您可以创建单元测试以确保所有操作(除了LogOn)都具有AuthorizeAttribute (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- asp.net – 类似于CMS的Web应用程序帮助框架?
- asp.net-mvc – 使用模型绑定从MVC 4中的列表中选
- asp.net-mvc – 什么时候项目在MVC架构中有自己的
- asp.net-mvc – 带有存储库和ninject的ASP.NET M
- 使用asp.net控件创建无序列表?
- asp.net-core – 如何使用asp-for标签绑定数组?
- asp.net-mvc – 启动了Just-In-Time调试器,没有必
- 将文件路径转换为asp.net核心中的URL
- asp.net-mvc – Html.RenderPartial和Html.Rende
- ASP.NET MVC3:你可以发布和绑定一个对象数组吗?
热点阅读