gpt4 book ai didi

c# - 图像、CSS 在登录屏幕页面加载 session 超时后未加载。

转载 作者:太空宇宙 更新时间:2023-11-04 10:05:16 26 4
gpt4 key购买 nike

我正在添加 session 超时检查并将此代码添加到 web.config 文件中。

<deny users = "?">

它会在 session 过期时将用户重定向到登录页面。当我第一次从 Visual Studio 构建元素时,它缺少图像和 css 文件。这是我在控制台中看到的警告。

CSS was ignored due to mime type mismatch

当我删除拒绝用户代码时,它按预期工作。我不确定为什么这会导致任何问题。它是否与用户在被拒绝后无法访问内容有关?处理此问题的最佳方法是什么?

我试过添加 session 状态

<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="1" defaultUrl="~/" />
</authentication>

<sessionState mode="InProc" customProvider="DefaultSessionProvider" timeout="1">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" />
</providers>
</sessionState>

<modules runAllManagedModulesForAllRequests="true" >
<remove name="UrlRoutingModule"/>
</modules>

添加到配置文件,它并没有解决问题。我还验证了静态内容托管在 IIS 中。任何帮助将不胜感激。谢谢。

最佳答案

我怀疑它给你一个 mime 类型不匹配的原因是因为当你请求 css 文件或图像时,服务器正在响应你的登录屏幕,因为它们没有经过身份验证。像这样:

浏览器请求 CSS 文件 -> 未验证 -> 取消请求 -> 响应登录屏幕

要解决此问题,您需要允许未经身份验证的访问您的静态资源。

拒绝未经身份验证的用户访问

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

允许未经身份验证的用户访问 css/images

<location path="App_Themes/Default/DefaultStyleSheet.css">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>

位置路径属性可以是单个文件的路径,也可以添加到它们全部存储的文件夹中。或者,您可以将 web.config 文件添加到包含您的 css/图像的文件夹。

关于c# - 图像、CSS 在登录屏幕页面加载 session 超时后未加载。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38057729/

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