有没有办法向人们公开 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/