gpt4 book ai didi

ASP.NET MVC 网站部分 SSL 身份验证 cookie 未在请求中提交

转载 作者:太空宇宙 更新时间:2023-11-03 12:49:18 25 4
gpt4 key购买 nike

我正在尝试制作一个 POC,其中可能有一个使用 http 和 https 的网站。所以我在我的母版页中有一个控件需要用户是否通过身份验证的信息。为此,我想使用 HttpContext.Current.User.Identity.IsAuthenticated。如果已通过身份验证,则显示已通过身份验证的用户的信息,如果未通过身份验证,则显示登录控件。

要对控件进行身份验证,请向具有 [RequireHttps] 属性的登录操作发出 AJAX POST 请求。 AJAX 请求中使用的 URL 是:

$.ajax({
type: 'POST',
url: '@Url.Action("ModalLogIn", "Authentication", null, "https", Request.Url.Host + ":44300")',

顺便说一下,我正在使用启用了 SSL 的 VS2013 IIS express。

正如您在我的 AJAX 请求中看到的那样,我在操作 url 中使用了 HTTPS。使用 SSL 向服务器发出请求,并成功做出响应。

问题在于,在后续请求中,ASPXAUTH cookie 未在请求 header 中传递。所以服务器没有得到用户认证信息。后续请求不使用 SSL,是简单的 HTTP 请求。

我知道在安全方面身份验证仍然不安全,因为我希望通过 HTTP 传递 ASPXAUTH,但就像我说的是 POC,我想看看是否可以使用 HTTPS 发出简单的身份验证请求以及所有其他使用 HTTP 的人。

根据要求,这是响应 header :

Access-Control-Allow-Orig...    *
Cache-Control private
Content-Length 15
Content-Type application/json; charset=utf-8
Date Sat, 26 Oct 2013 18:57:55 GMT
Server Microsoft-IIS/8.0
Set-Cookie ASP.NET_SessionId=j2a53htev0fjp1qq4bnoeo0l; path=/; HttpOnly
ASP.NET_SessionId=j2a53htev0fjp1qq4bnoeo0l; path=/; HttpOnly
IAC.CurrentLanguage=en; expires=Sun, 26-Oct-2014 19:57:55 GMT; path=/
.ASPXAUTH=730DEDBFD2DF873A5F2BD581AA0E25B685CAD12C26AEA63AD82484C932E26B617687A05BB403216CC5EFCF799970810059F9CA2CF829F953580AF81FF48102003C0129AB04424F0D011A733CAAF1DE00688E5A4C93DEA97338DD2B5E7EE752F3761A470D52449BEBCA74098912DE37AA8C1E293B1C5D44EB1F9E9384DAAEF289; path=/; HttpOnly
X-AspNet-Version 4.0.30319
X-AspNetMvc-Version 3.0
X-Powered-By ASP.NET
X-SourceFiles =?UTF-8?B?QzpcTXkgRGF0YVxCaXRidWNrZXRcaWFjLXdlYnNpdGVcaW1wbGVtZW50YXRpb25cZG90bmV0XElBQy5XZWJcQXV0aGVudGljYXRpb25cTW9kYWxMb2dJbg==?=

最佳答案

可能是当您设置 auth cookie 时,它​​被标记为“安全”。

使用 Chrome 开发者工具,点击“资源”,然后点击 cookies。在“安全”栏下检查 cookie 是否被标记。如果是,则意味着浏览器不会使用非安全连接发送身份验证 cookie。

关于ASP.NET MVC 网站部分 SSL 身份验证 cookie 未在请求中提交,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572283/

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