我的 ASP.NET MVC 应用程序包括许多可由最终用户编辑的 View 文件(它们存储在数据库中并通过 VirtualPathProvider 加载)。
我想允许我的用户编辑他们的视图文件,但是我对安全隐患持谨慎态度。
有什么方法可以强制执行某种代码访问安全性,以确保视图中的任何代码都不能执行任何危险的任务(即最小信任,它只能通过传入的存储库对象访问数据库并呈现自己。没有文件系统访问,没有调试它的主机进程等)。
我可以限制视图派生的超类(通过让我的 VirtualPathProvider 提供标头<%@ Page
指令,而仅从数据库返回渲染函数体),所以我可以通过将属性应用到这个超类来强制 CAS,还是更多参与其中,这不是一件容易的事吗?