gpt4 book ai didi

asp.net - 未经身份验证的用户无法查看网站中的图像

转载 作者:行者123 更新时间:2023-12-03 01:22:26 25 4
gpt4 key购买 nike

当我在 Visual Studio 中通过 Debug模式运行我的网站时,一切看起来都很棒,并且页面上的所有图像都显示良好。但是,一旦我将我的网站部署到 IIS7 Web 服务器(怀疑其他版本会有什么不同,但你永远不知道),那么用户在登录之前就无法看到网站上的图像。

该网站是一个 ASP.NET MVC 网站,虽然我对 ASP.NET 表单有很多经验,但我还是 MVC 新手。似乎只有经过身份验证的用户才可以访问图像文件夹,并且我的 web.config 中有一个授权部分说只有管理员可以访问该网站,那么我如何才能使所有经过身份验证的用户或其他用户都可以查看图像?

-- 更新 --

我尝试放入建议的配置 block ,从我所知道的一切来看,这非常有意义,但它似乎没有什么区别。下面的示例具有路径的内容/图像,但在此之前我只尝试了内容,因为其中的所有内容都可以访问。我还尝试将allowOverride设置设置为false,这似乎也没有什么区别。

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

--更新2--有趣的是,我什至在 web.config 中没有看到任何明确的拒绝条目,只是允许管理员条目,当我进入 IIS 7 并使用 UI 允许所有用户访问内容目录时,它并没有看到也显示列表中的任何拒绝。但话又说回来,当我从我的个人计算机上调试它时,这个项目运行得很好,只有在我部署它之后才出现问题......

<authorization>
<allow roles="admin" />
</authorization>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

最佳答案

在 web.config 文件中,</system.web> 之后标签,添加以下内容

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

哪里path="images"是包含 images/css 的文件夹的名称。

更新:

如果您使用 ASP.NET MVC,我会删除 web.config 文件中的授权声明并使用 [Authorize]需要锁定的 Controller 上的属性。

您还可以使用 [Authorize("admin")] 指定要授予访问权限的角色.

关于asp.net - 未经身份验证的用户无法查看网站中的图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4116458/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com