asp.net-mvc – 限制视图引擎以访问Microsoft MVC中的某些命名空间

在我的C#MVC项目中,用户可以访问修改视图以自定义其页面外观(他们可以编辑视图cshtml并使用Razor引擎).

如何限制视图引擎访问某些名称空间,如System.IO,System.Sql?

我计划从用户中删除标记中的“System.XXX”,但默认情况下会导入一些名称空间,如System.IO.所以用户仍然可以运行一些危险的命令,如File.Delete …

那么,我怎样才能限制用户只能编辑CSHTML和一些命名空间而不是所有namspace?

最佳答案 在本主题中:

Strange automatic namespace imports in my Razor views

robotnik:答案是:在Razor视图中,总是导入一些名称空间.这在配置中无法禁用,因为它在代码中是硬连线的.

但Nigel Whatling Found答案通过从MvcWebRazorHostFactory继承一个类.

谢谢大家 :)

点赞