如何使某些文件夹仅对经过身份验证的用户或ASP MVC中的某些角色可用?

时间:2015-03-25 13:45:56

标签: asp.net asp.net-mvc

我有一个MVC网络应用程序,其中包含某些静态资产,这些资产只应该对经过身份验证的用户(以及某些角色)提供。

我知道如何在控制器中为某些角色提供某些操作,但文件夹/静态内容是否有方法或Web.config设置?

喜欢:此文件夹下的任何内容只能由编辑用户组访问?

感谢。

1 个答案:

答案 0 :(得分:2)

如果要重新访问仅包含静态内容的特定文件夹,则需要在此文件夹的根目录中添加web.config文件,并添加如下所示的配置根:

<?xml version="1.0"?>
<configuration>
    <system.web>
        <authorization>
           <allow roles="your_role_name_here"/>
           <deny users="*" />              
        </authorization>
     </system.web>
</configuration>

确保runAllManagedModulesForAllRequests中的true属性设置为<system.webServer>/<modules>

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
        <!-- other configurations -->
    </modules>
</system.webServer>