c# - 我如何隔离 Razor View ?

标签 c# asp.net-mvc-4 isolation razor-2

有没有办法向人们公开 Razor 语法和(自定义)助手,但是说......不允许他们创建代码块,或者,只限制他们使用助手并且不给他们权力在 View 中执行纯 C# 代码?

欢迎提出类似解决方案的任何想法和建议!

更新://我想赋予用户编写自己的 HTML 并仅访问 html 助手列表的能力。大多数是默认的和我创建的。

例如,我不希望他们能够在 @{//code } block 中执行代码,并且 也没有 using@model (不确定这个) 只能访问@Html.* @if else for foreach

或者更好的是,只允许他们访问特定的命名空间(这只是一个想法)

更新:// 经过一些测试,我发现 RazorEngine 与我正在尝试做的一样接近:在隔离环境中运行 View 并添加对特定命名空间的访问。

最佳答案

我不建议你这样做。没有一种简单可靠的方法可以在不损害站点安全的情况下为他们提供这种能力。如果您信任您的用户,那么您就可以做到。如果你不这样做,那么一个模板引擎,如 DotLiquid是更适合这个目的的东西。

关于c# - 我如何隔离 Razor View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15042020/

相关文章:

c# - 从 asp.net 返回一个字节数组并从 C# 应用程序下载它

dll - 使用全局程序集缓存提高速度

database - 选择、插入、删除时的事务隔离

jquery - MVC4 Knockout 数据绑定(bind)点击事件未触发

python - unittest blacklist namespace 并且任何引用它的尝试都失败

c# - 在 C# 中从字符串(包括 HTML 标记)创建字典或列表

c# - 如何清除StructureMap缓存?

c# - 嵌套中继器产生 "malformed server tag"?

c# - 单向绑定(bind)

c#-4.0 - 如何在 Lucene.Net 3 中提升字段