在ASP.NET 4.5 Web应用中拒绝未授权用户访问会导致登录表单JavaScript错误

6
当我在 web.config 中添加以下代码以防止未经授权的用户访问 ASP.NET Web 应用程序时:
<authorization>
      <deny users="?"/>
      <allow users="*"/>
</authorization>

在加载Login.aspx表单时,我遇到了以下错误:

在Internet Explorer 11中:

JavaScript严重错误,位于http://localhost:2968/Account/Login.aspx?ReturnUrl=/bundles/WebFormsJs?v=q9E9g87bUDaS624mcBuZsBaM8xn2E5zd-f4FCdIk2cA1&v=q9E9g87bUDaS624mcBuZsBaM8xn2E5zd-f4FCdIk2cA1的第2行,第1列

SCRIPT1002: 语法错误

在Google Chrome中:

Uncaught SyntaxError: Unexpected token < http://localhost:2968/Account/Login.aspx?ReturnUrl=%2fbundles%2fWebFormsJs%3fv%3dq9E9g87bUDaS624mcBuZsBaM8xn2E5zd-f4FCdIk2cA1&v=q9E9g87bUDaS624mcBuZsBaM8xn2E5zd-f4FCdIk2cA1

1个回答

9

您需要添加位置指令以允许未经授权的用户访问您的Scripts和Content文件夹(JS和CSS):

<location path="Content">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>
<location path="Scripts">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

此外,由于您正在使用捆绑包,因此也需要添加捆绑包文件夹:
<location path="Bundles">
    <system.web>
        <authorization>
            <allow users="*" />
        </authorization>
    </system.web>
</location>

@user2749636请检查我的编辑,您还需要添加Bundles文件夹。 - Mathew Thompson

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接