IIS7 下通过web.config来控制html文件的访问

时间:2022-08-24 11:26:08

对于静态文件,如果有具体用户角色权限控制的,需要另外用程序处理。

首先在需要控制的目录中增加web.config文件,里面配置如下:

<system.web>
        <!--compilation debug="true" /-->
        <customErrors mode="Off"/>
        <compilation>
            <buildProviders>
                <add extension=".html" type="System.Web.Compilation.PageBuildProvider" />
                <add extension=".htm" type="System.Web.Compilation.PageBuildProvider" />
            </buildProviders>
        </compilation>

        <authentication mode="Forms">
   <forms cookieless="UseCookies" name="LoginCookieName" loginUrl="~/login.aspx">
                <credentials passwordFormat="Clear">
                    <user name="admin" password="000000" />
                  </credentials>
            </forms>
  </authentication>
        <authorization>
            <deny users="?" />
        </authorization>
 </system.web>
   
    <system.webServer>
        <handlers>
            <add name="HTML" path="*.html" verb="GET, HEAD, POST, DEBUG"   type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" />
            <add name="HTM" path="*.htm" verb="GET, HEAD, POST, DEBUG" type="System.Web.UI.PageHandlerFactory" resourceType="Unspecified" requireAccess="Script" />
        </handlers>
    </system.webServer>

 

       其中 admin/000000 就是在cookie中添加的用户名和密码,这样也不需要数据库来存储了.

        完成以上工作后,如果直接输入url地址去访问A.html文件,系统将自动跳转到/Login.aspx(根目录下web.config有Forms校验设置)

当输入用户名/密码,登录系统以后,再输入url地址去访问A.html文件,这个html文件可读了!简单权限控制实现!