在MVC中,放置授权码的正确位置在哪里?

Ita*_*vka 5 oop model-view-controller

在MVC中,放置授权码的正确位置在哪里?
控制器?
该模型?
在视图中?

到处都是?

tva*_*son 3

我投票赞成将其放在有意义的地方。我的大部分授权内容都是通过使用 AuthorizeAttribute 或派生自它的属性来装饰控制器操作(甚至某些控制器)来处理的。在某些情况下(例如我的菜单),我将授权检查放在视图代码本身中,而不是在每个控制器中进行计算并在 ViewData 中传递标志。在某些情况下,模型的某些方面仅适用于特定角色,在这些情况下,我求助于使用可以获取当前用户和角色并在那里进行检查的方法来扩展模型。