具有授权的Orchard静态文件

时间:2016-01-05 11:13:00

标签: c# asp.net-mvc iis orchardcms

所以我们都知道如何提供文件夹中的所有静态文件:

<handlers accessPolicy="Script,Read">
  <!--
  iis7 - for any request to a file exists on disk, return it via native http module.
  accessPolicy 'Script' is to allow for a managed 404 page.
  -->
  <add name="StaticFile" path="*" verb="*" modules="StaticFileModule" preCondition="integratedMode" resourceType="File" requireAccess="Read" />
</handlers>

如果您尝试使用Orchard授权仅将文件提供给特定角色,那么现在会很有趣。我尝试过标准的MVC aproches但是它们没有用,因为你需要修改Orchard.Web web.config而我不想这样做。

想象一下,我只能修改自己的模块web.config来实现这一目标。有什么办法吗?我尝试使用那个片段而不是运气,因为我不太了解它。

Orchard没有很好的文档记录,所以非常感谢任何链接到详细说明这个问题的文档的特定部分。

1 个答案:

答案 0 :(得分:1)

我通过添加重定向到MVC控制器操作的特定route解决了同样的问题。此操作检查权限(例如,基于Orchard角色)并流式传输文件,否则重定向到404或500.