我使用C#MVC5并创建了一个AccessAttribute
来定义每个用户可以根据他的权限访问的页面。
在我的应用程序中,有一个Area名为Administration,只有" admin"用户可以访问。
问题:是否可以对此区域应用全局过滤器,类似于我们如何将全局过滤器应用于整个项目?
当前解决方案:将AccessAttribute
添加到管理部分中的每个类定义。
该解决方案存在问题:如果我只是忘记将该属性添加到类定义中,则攻击者可以访问管理部分。
答案 0 :(得分:0)
在这里找到答案:
我主要担心的是安全性:我不想忘记单个属性(或继承)。
因此,逻辑上的答案是创建一个阻止所有访问的全局过滤器,然后为每个控制器覆盖此属性。就像AuthorizeAttribute
和AllowAnonymousAttribute
一样。