Asp.net mvc 3 Asp.NETMVC3-保护站点时登录页面无css布局

Asp.net mvc 3 Asp.NETMVC3-保护站点时登录页面无css布局,asp.net-mvc-3,razor,authorization,Asp.net Mvc 3,Razor,Authorization,好的。。。我不明白。我刚刚用web.config中的以下代码块保护了我的asp.net mvc 3应用程序(razor视图) <authentication mode="Forms"> <forms loginUrl="~/Account/LogOn" timeout="2880" /> </authentication> <authorization> <deny users="?"/> </authorization

好的。。。我不明白。我刚刚用web.config中的以下代码块保护了我的asp.net mvc 3应用程序(razor视图)

<authentication mode="Forms">
  <forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

<authorization>
  <deny users="?"/>
</authorization>

但是当我这样做的时候,登录页面不再有正常的样式了。。。它只是简单的HTML,没有任何css模型。
那么我必须在web.config中“允许”什么呢?

您必须允许脚本、样式等

<location path="Styles">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="Scripts">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="js">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="Images">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

由于您拒绝匿名用户访问,它将不再允许访问包含css文件的文件夹

添加此项,其中“Style”是包含css文件的文件夹名称:

<location path="Style">
  <system.web>
    <authorization>
      <allow users="?" />
    </authorization>
  </system.web>
</location>

现在可以工作了,只需将样式更改为内容:)