在asp .net mvc中保护Web应用程序某些区域的最佳方法是什么?我知道我们可以在每个动作中加上[Authorization]属性,但这似乎非常繁琐,因为你必须把它全部放在一起.我正在使用成员资格提供
哪一个更好的方法?
我强烈建议不要把它放在web.config中.实际上,Conery,Hanselman,Haack和Guthrie也是如此 – 尽管不是很高(专业ASP.NET MVC 1.0的第223页)路由可能会发生变化,尤其是在MVC中.使用WebForm模型,路由在文件系统上实际表示,因此您不必担心它.在MVC中,由于缺乏更好的术语,路线是“动态的”.
最终可能会有多个路由映射到一个控制器,从而导致web.config中的维护工作变得困难.更糟糕的是,您可能无意中让路由意外地调用了控制器,或者在添加/修改路由后忘记更新web.config并让自己保持打开状态.
但是,如果您保护控制器而不是实际路由,那么您不必担心web.config与控制器的运行和更改路由保持同步.
只需2美分.