首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么Chrome和do在调试时会为HttpContext LogonUserIdentity返回不同的值?

Chrome和do在调试时会为HttpContext LogonUserIdentity返回不同的值的原因是因为它们使用了不同的身份验证机制。

在Chrome浏览器中,当用户通过基本身份验证(Basic Authentication)登录时,Chrome会将用户的凭据存储在浏览器的凭据管理器中,并在后续的请求中自动发送这些凭据。因此,在调试时,Chrome会自动发送之前保存的凭据,从而使HttpContext LogonUserIdentity返回正确的用户身份。

而在使用do调试时,do可能使用其他身份验证机制,如表单身份验证(Form Authentication)或Windows身份验证(Windows Authentication)。这些身份验证机制可能需要用户手动输入凭据或使用操作系统的凭据。因此,在调试时,do可能不会自动发送之前保存的凭据,导致HttpContext LogonUserIdentity返回不同的值。

为了解决这个问题,可以尝试以下方法:

  1. 确保在Chrome中登录时选择了正确的身份验证方式,并且保存了凭据。
  2. 在do中进行调试时,确保使用与Chrome相同的身份验证方式,并提供正确的凭据。
  3. 检查代码中是否有特定于某个浏览器的逻辑,可能需要根据不同的浏览器采取不同的处理方式。

需要注意的是,具体的解决方法可能因具体的应用程序和环境而异。如果问题仍然存在,建议查阅相关文档或咨询开发人员或技术支持人员以获取更具体的帮助。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【实战 Ids4】║ 又一个项目迁移完成(MVC)

分支即可,分支名基本都是Is4,Ids4等字样; 02、Nuxt.tBug项目目前正在升级中,其实Vue前后端分离是一样,都是使用同一个组件框架oidc-client,这里就不多说了,如果真的差别大...上边共涉及到了我开源六个项目,三个后端,三个前端,想想这一年也是够可以了,但是迁移IdentityServer4中,只用到了常用两种模式,ImplicitCode模式,其实一般我们web开发,...rolename", } } 这里就强调两点,就是配置一下回调地址,然后就是AlwaysIncludeUserClaimsInIdToken要设置为true,以方便我们后边要从claims声明中获取返回...这里配置也是很简单,运行到了这里,我们就可以简单调试了,所有的地址,都可以换成localhost来调试。...注意这两个错误,然后会调试就行,调试主要在F12,去查看network,看看请求数据是否异常即可。 到了这里,基本就结束了,还是建议大家多看看官网官方Demo,真的很有用。

65020

使用IdentityServer出现过SameSite Cookie这个问题吗?

为此,当浏览器位于您自己域中,它引入了同站点 cookie 概念,而当浏览器不同域中导航但向您域发送请求,它引入了跨站点 cookie 概念。...Lax 意味着,cookie 将在初始导航发送到服务器, Strict 意味着 cookie 只会在您已经该域上发送(即初始导航后第二个请求)。...登录 IdP ,它会为用户设置一个会话 cookie,该 cookie 来自 IdP 域。在身份验证流程结束,来自不同应用程序会收到某种访问令牌,这些令牌通常不会很长时间。...如果没有,请确保在这些版本 Safari 中测试您应用程序或网站。 如果您根本不设置 SameSite ,您只需 Chrome 中打开您应用程序并打开开发人员工具即可。...除了彻底测试,特别是 Chrome 79 中激活了“默认 cookie SameSite”标志以及 macOS iOS 上受影响 Safari 版本,是的,你现在应该没事了。

1.5K30

浏览器嗅探解决部分浏览器丢失Cookie问

看了前文同学们应该都知道,搜狗、360等浏览器单点登录中反复重定向,最终失败报错。...原因在于,非Chrome80+浏览器不识别Cookie上SameSite=none属性,导致认证Cookie在后续请求中被抛弃。 ?...10.0.6.304 case1 魅族手机浏览器 8.5.1 case2 嗯,我之前报360急速浏览器新版已经更新了Chrome内核,作为主流搜狗猎豹浏览器还是使用旧版本Chrome内核...Startup.Configure中,调用UseAuthentication或任何写入cookie方法之前添加调用UseCookiePolicy代码: public void Configure...ASP.NET Core3.1 对与SameSiteMode新增了一个 Unspecified枚举,表示服务端不会对Cookie设置SameSite属性, 后面的携带Cookie事情交给浏览器默认配置

1.3K20

C# AntiForgeryToken防XSRF漏洞攻击

3.AntiForgery防XSRF攻击原理 执行@Html.AntiForgeryToken()语句,会在cookie中写入一个经过加密后数据,并在页面中添加一个隐藏域一并写入加密后数据(默认名称为...系统进行验证,会先把加密数据还原成AntiForgeryToken对象,对象有一个SecurityToken属性(用于填充随机序列),系统主要判断该字段是否相等。...但隐藏域每次都不同,因为每访问一次页面,都会重新加密一次,虽然AntiForgeryToken对象相同,但通过MachineKeyProtect加密后,每次加密都会不同。...如果oldCookieToken不为空,那么newCookieToken就会为空,这样就不会重新写入cookie。所以同一个会话期间cookie会相同。...即随机数是创建AntiForgeryToken对象自动生成

1.3K10

性能优化总结(五):CSLA服务端如何使用多线程解决方案

可是我们已经登录了,这个属性为什么还是“未授权”呢?查看源代码,发现每次处理请求开始阶段,CSLA会设置这个属性为客户端传入用户标识。...实现它,如果是客户端,还是使用一个一般静态字段。如果是服务端,就换成了一个标记了[ThreadStatic]字段,该标记表示:这个字段会为每一个线程分配独立。...:)     这样只是保证了WCF用于处理请求线程中,ApplicationContext.User属性是正确。但是我们处理一个单独请求,又很有可能手工打开更多线程来为它服务。...会保证,执行action前后,新开线程主线程都使用同一个Principel。.../// /// 解决问题: /// 由于ApplicationContext.User是基于线程, /// 所以如果在同一次请求中,如果在服务端打开一个新线程做一定事情, /// 这个新开线程可能会打开者使用不同

67880

ASP.NET Core管道详解: HttpContext本质论

上述这些特性都体现在如下所示调试断言中。...虽然特性最初是为了解决不同服务器类型与统一HttpContext上下文之间适配设计,但是它作用不限于此。...对于DefaultHttpContext类型来说,它Request属性Response属性返回具体类型为DefaultHttpRequest与DefaultHttpResponse,它们分别利用这两个特性实现了定义基类...Create方法中,它根据提供IFeatureCollection对象创建一个DefaultHttpContext对象,返回该对象之前,它会将该对象赋值给IHttpContextAccessor对象...如下面的代码片段所示,当我们创建一个RequestServicesFeature对象,需要提供当前HttpContext上下文创建服务范围IServiceScopeFactory工厂。

1.2K30

ASP.NET Core 中间件基本用法

; }); 这段代码中,使用Run方法运行一个委托,这就是最简单中间件,它拦截了所有请求,返回一段文本作为响应。Run委托终止了管道运行,因此也叫作终端中间件。...await next.Invoke(); //Do something here }); 这段代码中,使用Use方法运行一个委托,我们可以Next调用之前之后分别执行自定义代码...; }); } 上面的代码演示了如何使用MapMapWhen创建基于路径条件分支。...这里需要注意是,中间件创建是单例,每个中间件应用程序生命周期内只有一个实例。那么问题来了,如果我们业务逻辑需要多个实例,该如何操作呢?请继续往下看。...中间件创建过程中,容器会为我们创建一个中间件实例,并且整个应用程序生命周期中只会创建一个该中间件实例。通常我们程序不允许这样注入逻辑。

67060

分布式中使用Redis实现Session共享(二)

Cookie 是一小段文本信息,伴随着用户请求和页面 Web 服务器浏览器之间传递。Cookie 包含每次用户访问站点 Web 应用程序都可以读取信息。...为了实验是区分浏览器,可以实验IE下进行登录,然后在用chrome打开相同页面,你会发现在chrome还是需要你登录,原因是chrome这时没有sessionid。...那么问题来了,为什么Defaule.aspx.cs文件里可以获取到这个Session对象,这个Session对象又是什么时候被初始化呢。  ...可以看到Session来源于HttpContext.Current,而HttpContext.Current又是什么时候被初始化呢,我们接着往下看。...注册表项中PortAllowRemoteConnection修改成1。

1.7K60

Flutter 调试技巧

对于前端同学调试我们有很多方式可以用,比如 Chrome Dev Tools ,你可以 Elements 上调试布局样式,也可以利用 console.log 来打印变量,当然也有较多栈信息让你来判断错误...当我们很难预估一个,最简单方式是将这个打印出来,通过控制台来查看输出信息,由于我们使用了 Dart 来开发 Flutter ,因此我们可以使用 debugPrint 等同于 console.log...对于语法入门级错误,不管是 VSCode 还是 Android Studio 都会通过标红方式反馈给你,你可以根据编辑器或IDE给出经典信息来做判断,这一阶段实践也会为你写代码严谨带来较多思考...其次我们可以利用断点调试功能,VSCode调试面板中,我们可以时时查看变量,以及跟踪执行步骤,在这个过程中,我们可以查看堆栈,也可以根据逻辑来做进一步判断。 ?...多数情况下我们使用 Flutter 是来绘制 UI,界面的调试 debug 模式下其实没有什么用,但是我们可以利用 VSCode Toggle Debug Painting 来启动界面调试工具,通过这些辅助线我们可以很方便查阅到为什么布局和我们预期有所不同

1.9K10

.NET Core开发实战(第25课:路由与终结点:如何规划好你Web API)--学习笔记(下)

这个 routeKey 就是我们要验证 key 后面两个参数 RouteValueDictionary 就是当前可以获取到这个 routeKey 对应传入是什么,这样就可以验证我们传入信息...routeDirection 这个枚举作用是当前验证是用来验证 URL 请求进来,验证是否路由匹配,还是用来生成 URL,是进还是出这样一个定义,不同场景下面可能响应逻辑是不一样 下面的逻辑是如果路由是进来...path 代码 // 它还有不同重载,可以根据需要传入不同路由 var path = linkGenerator.GetPathByAction(HttpContext,...,输入1,点击执行,可以看到 path 为 /api/Order/Reque/abc uri 为 https://localhost:5001/api/Order/Reque/abc 定义 Controller...,也就是说需要定义好 API 表达契约 2、建议是把 API 都约束特定目录下面,与其他功能性页面进行隔离,比如说 /api /api 加版本号这样子方式 3、废弃 API 过程中间,应该是间隔版本方式废弃

47220

Ocelot(二)- 请求聚合与负载均衡

刚刚我们举例当中,访问不同的人需要到达不同地方,因此声明路由,也需要注意它们 UpstreamPathTemplate都是不一样。...可以看到,返回结果中同时包含了WillingJack结果,并且是以 json串格式返回,以路由 Key属性作为返回json属性。...(返回结果好像哪里不太对,不知道你是否发现了,但暂时先不要着急,我在后面会为大家揭晓) 需要注意是,Ocelot仅支持 GET方式请求聚合。...Ocelot总是以 application/json格式返回一个聚合请求,当下游服务是返回404状态码,返回结果中,其对应则为空,即使聚合路由中所有的下游服务都返回404状态码,聚合路由返回结果也不会是...Ocelot支持获得下游服务返回结果后,通过一个聚合器对返回结果进行再一步加工处理,目前支持内容,头状态代码修改。

1K10

程序猿必备调试工具postman

我们今天讲讲Postman模拟客户端调试工具,这是我平时工作中最常用工具之一。 Postman是一款功能强大网页调试与发送网页HTTP请求Chrome插件。...目前chrome应用商店能使用就是chrome扩展程序主题背景。 不过Postman也提供了应用程序下载。...https://www.getpostman.com/apps 根据自己操作系统,下载不同版本即可。...使用包含文件上传控件表单,必须使用该。 3. text/plain。纯文体传输。空格转换为 “+” 加号,但不对特殊字符编码。...其实form表单在你不写enctype属性,也默认为其添加了enctype属性,默认是enctype="application/x- www-form-urlencoded",所以上面注册用户时候虽然没写

1.1K20

【C#】对异步请求处理程序IHttpAsyncHandler理解分享一个易用性封装

改用IHttpAsyncHandler后,多了两个方法BeginProcessRequestEndProcessRequest,原有的ProcessRequest事实上已经废弃,请求不会进入里面,而是改为...HttpContext外还有两个,然后还有个IAsyncResult类型返回。...熟悉APM(异步编程模型)套路朋友知道该怎么搞,不熟悉可参看MSDN,要点就是实例化一个实现IAsyncResult类,在其中异步或起线程执行逻辑,然后返回这个对象。...IAsyncResult我都不情愿,好在委托这个东西编译器会为它自动生成异步模型,于是有了下面这个简单封装: /// /// 异步请求处理基类 /// - 子类实现ProcessRequest...(IAsyncResult result) => _processRequestDel.EndInvoke(result); } 有了这个封装好基类,写新ashx就可以把IHttpHandler

1.4K30

ASP.NET Core 6框架揭秘实例演示:利用Session保留语境

我们最终生成一段用于呈现Session ID当前实时时间HTML,并封装成返回ContentResult对象。...程序启动之后,我们利用ChromeIE访问请求注册终结点,从图1可以看出针对Chrome两次请求Session ID和会话状态都是一致,但是IE中显示不同。...当会话状态采用默认分布式缓存进行存储,整个数据字典(包括KeyValue)会采用预定义格式序列化成字节数组,这基本上可以从图3体现出来。...Session KeySession ID是两个不同概念,上面演示实例也证实了它们其实是不同。Session ID可以作为会话唯一标识,但是Session Key不可以。...当SessionMiddleware中间件接收到会话第一个请求,它会创建两个不同GUID来分别表示Session KeySession ID。

70110

理解 ASP.NET Core -限流(Rate Limiting)

这里设置为优先处理先来请求 AutoReplenishment:指示开启新窗口是否自动重置请求限制,该默认为true。...这里设置为优先处理先来请求 AutoReplenishment:指示当进入新令牌发放周期,是否自动发放令牌,该默认为true。...接着就是调用AddPolicy,传入策略名一个委托来添加策略,该委托会返回一个限流分区,分区内可以通过工厂获取限流器实例。可以看到该策略分区 key 是固定不变,即该策略共享一个限流分区。...它所允许范围是 >= 0,当传入 0 ,表示查看是否还能获取到许可(不会消耗许可数)。...同样返回类型RateLimitLease拥有一个bool IsAcquired属性,表示许可是否获取成功 接着,对于FixedWindowLimiter、SlidingWindowLimiter

61970

从TechRadar看UI自动化测试未来

2017年第17期2018年19期技术雷达中,分别出现了两个新工具——cypress,testcafe,之前只接触过webdriver框架同学可能会有些陌生。...第四个优点:方便调试 前端工具很多都支持hotload,cypress也贴心加入修改测试代码自动rerun测试功能,并且支持代码debug,甚至可以chrome dev tool中方便调试,更甚每个步骤操作都会清晰图像界面中展示...使用cypress-promise这个库 如上述代码返回最外层使用 promisify()方法,使用ES7 promise语法 async await 就可以转换成为异步操作。...当你按照以下图做了配置,高高兴兴云端运行时,发现根本没有用,因为你没交钱! ? 有没有方法解决?有 有 有!...坑四:不支持多浏览器测试 对,cypress首席执行官也说了,多浏览器测试也许未来已经不需要了,因为微软已经放弃IE啦,好了世界都是chromewebkit了。

2.3K20

请收下这份JS调试指南!

注意:因为Console 对象提供对浏览器控制台接入 所以不同浏览器中支持及表现形式可能不太一样,但是调试内容只有我们开发者会看,所以保证开发环境能用这些方法就可以了,下面演示全部都为Chrome...适合排列整齐元素 查看对象 使用Console.dir()显示一个对象所有属性方法 Chrome中Console.dir()Console.log()效果相同。...查看节点 使用Console.dirxml()显示一个对象所有属性方法 Chrome中Console.dirxml()Console.log()效果相同。...1.当第一个参数或返回为真,不输出内容 2.当第一个参数或返回为假,输出后面的内容并抛出异常 计次输出 使用Console.count()输出内容被调用次数 追踪调用堆栈 使用Console.trace...性能分析 使用Console.profile()Console.profile()进行性能分析,查看代码各部分运行消耗时间,但是我Chrome自带调试工具中并没有找到在哪里查看这两个方法生成分析报告

73020

ASP.NET Core 入门教程 9、ASP.NET Core 中间件(Middleware)入门

每个中间件接受到请求后都可以选择是交由下一个中间件处理还是直接返回结果。...2、ASP.NET Core 中间件基础使用 程序中,中间件是基于委托来构建应用启动通过IApplicationBuilder注册到通道中。...yyyy-MM-dd HH:mm"); var minute = DateTime.Now.ToString("yyyy-MM-dd HH:mm"); //当token前一分钟或当前分钟任一间字符串...4、验签中间件测试 启动应用,然后验证不同情况下访问结果 URL Response localhost:5001 token missing localhost:5001?...-ken.io 为了方便测试,MD5哈希我们可以在线生成:ttp://tool.chinaz.com/tools/md5.aspx 把当前分钟,例如:2019-03-27 23:23 通过MD5在线生成那就是

1.3K30

开源API测试工具 Hitchhiker v0.7更新 - Schedule对比diff

下面来看看这次更新: 可以以diff方式查看Schedule对比结果 HitchhikerSchedule是支持不同环境数据对比,不过之前只是把两边response对比结果给出来,想要知道有哪些不同的话还需要借助其他...这次加入了内置对比工具,Schedule结果不匹配,会多出一个view diff按钮,点击后会弹出对话框显示两边reponse不同。 ?...,这次发布就添加了对console支持,脚本里写打印信息会从服务端返回回来再在浏览器控制台里打印出来。...支持以cURL来新建request 这个对于快速调试非常有用,chrome控制台Network里右键点击请求,选择copy as cUrl(bash),再导入这里来就可以调试这个请求了。 ?...勾上保存然后取消勾时会保存不了 导入Postman json出错,有header为null 请求如果没响应时,请求返回时间会为0 后续计划 短期内还是以继续增加测试新功能为主,比如Schedule

68260

asp dotnet core 通过图片统计 csdn 用户访问 缓存图片统计用户访问

,然而发现在 csdn 无法被访问到,原因请看 asp dotnet core 图片在浏览器没访问可能原因 通过 GetCSDNImage 返回一张图片,同时按照这个方法调用次数就可以用来统计用户访问了...缓存图片 GetCSDNImage 需要返回图片才可以用来假装这是一个静态图片链接 我将一张图片放在输出文件夹,做法就是解决方案添加一张图片,右击属性设置复制输出到文件夹 Startup...GetCSDNImage 方法里面通过缓存,判断如果缓存里面没有就从文件读取图片,如果有就直接从内存返回 如果这段代码是需要我自己写,可能要写几天,因为还存在了多线程访问问题,如果一开始不存在,...缓存中就通过 key 来获取或设置,用法字典差不多 var file = _cache.GetOrCreate("Image", entry => GetImage());...现在拿到了,可以通过 File 方法返回,注意在返回时候添加 content type 说这是一张图片 public FileResult GetCSDNImage()

2K20
领券