Gar*_*ill 5 asp.net-mvc authorization
我开始使用默认项目AccountController,但我已将其扩展/更改为无法识别.但是,与原来一样,我有一个LogOn和LogOff动作.
显然,LogOn每个人都必须能够采取行动.但是,由于我已向此控制器添加了许多其他操作(以创建和编辑用户),因此我希望99%的操作都需要管理员角色成员资格.
我可以装饰我所有的行为,[Authorize Roles="Administrators"]但有风险,我会忘记一个.我宁愿通过使用该属性修饰控制器类本身来使其安全,然后放宽对我的LogOn方法的要求.我能这样做吗?
(因为,我可以在不创建自定义类的情况下开箱即用,等等.我不想让事情变得复杂得多.)
要在操作级别覆盖控制器属性,您必须创建自定义属性,然后将自定义属性的 Order 属性设置为比控制器 AuthorizeAttribute 更高的值。我相信这两个属性仍然会被执行,除非您的自定义属性生成立即生效的结果(例如重定向)。
有关详细信息,请参阅仅针对一项操作覆盖控制器 AuthorizeAttribute 。
因此,我相信在您的情况下,您只需在操作上添加 AuthorizeAttribute,而不是在控制器级别添加。但是,您可以创建一个单元测试来确保所有操作(LogOn 除外)都具有 AuthorizeAttribute
| 归档时间: |
|
| 查看次数: |
5269 次 |
| 最近记录: |