当前位置: 首页 > 编程语言 > C#

默认情况下发送BASIC auth,而不是等待HTTP 401分享

时间:2023-04-10 17:13:34 C#

C#学习教程:默认发送BASICauth而不是等待HTTP401共享服务会返回HTTP401(未授权)。执行此操作-当质询返回时,浏览器(在本例中为Chrome)弹出并要求提供凭据。然后保存它们以备将来使用。我的问题是,现在对服务的每个后续请求都有两个请求-一个没有授权(收到401),然后浏览器立即在标头中回复正确的授权。有没有办法强制浏览器(可能通过一个特殊的标头)提供凭据,而不必每次都被网络服务明确询问?我不相信强制浏览器抢占401是可能的。当发出服务请求时,服务以HTTP401响应并添加WWW-AuthenticateBasic标头和我猜的字段(您可以定义).BasicAuthenticationRFC值得一看,它详细说明了如何实现BasicAuthentication标准。http://www.ietf.org/rfc/rfc2617.txt您也可以考虑实现自己的HTTP模块,这可以让您的应用程序在处理基本身份验证方面更加灵活。这允许您为Authenticate和EndRequest事件注册事件处理程序,并使您的服务将如何处理基本身份验证变得更加清晰。有关这方面的入门知识,请访问asp.net网站。http://www.asp.net/web-api/overview/security/basic-authentication如果您的服务根据您的应用程序身份验证使用不同的身份验证(例如,当应用程序配置为表单身份验证时,该服务将只使用基本身份验证),而不是使用HTTP模块,它允许您有条件地使用基本身份验证。我通常在这种情况下注册我的处理程序:以上是C#学习教程:默认发送BASIC身份验证而不是等待HTTP401分享完整内容,如果它对每个人都有用并且需要了解更多关于C#学习教程,希望大家多多关注—AuthenticationSectionconfig=(AuthenticationSection)WebConfigurationManager.GetSection("system.web/authentication");如果(config.Mode==AuthenticationMode.Forms){module.Authenticate+=OnEnter;上下文.EndRequest+=OnLeave;}本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: