Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用postman或http请求传递用户_C#_Http_Asp.net Core_Postman - Fatal编程技术网

C# 如何使用postman或http请求传递用户

C# 如何使用postman或http请求传递用户,c#,http,asp.net-core,postman,C#,Http,Asp.net Core,Postman,我有一个asp.net核心项目,其中一个字段是通过User?.Identity?.Name设置的。我想知道是否有办法通过http请求传递身份,而不是登录站点。我已经问了很多次了,似乎没有人这样做,尽管考虑到网络是无状态的,这对我来说是有意义的。任何见解都会引起人们的兴趣。谢谢 这取决于您使用的身份验证服务,如果您在.net core上使用OAuth 2.0,则需要在http请求上记录发送参数,如Username和Password,然后为其他http请求获取访问令牌,这样邮递员就可以选择: 这取决

我有一个asp.net核心项目,其中一个字段是通过User?.Identity?.Name设置的。我想知道是否有办法通过http请求传递身份,而不是登录站点。我已经问了很多次了,似乎没有人这样做,尽管考虑到网络是无状态的,这对我来说是有意义的。任何见解都会引起人们的兴趣。谢谢

这取决于您使用的身份验证服务,如果您在.net core上使用OAuth 2.0,则需要在http请求上记录发送参数,如
Username
Password
,然后为其他http请求获取访问令牌,这样邮递员就可以选择:

这取决于您使用的身份验证服务,如果您在.net core上使用OAuth 2.0,则需要在http请求上记录发送参数,如
Username
Password
,然后为其他http请求获取访问令牌,因此邮递员可以选择:
这里有大量的未知因素,因为你的问题并不是具体的。一般来说,auth通常由两种主要方式之一处理:cookie或
授权

基于Cookie的身份验证是更传统的web身份验证形式。您使用用户名和密码在登录页面上提交表单,服务器接收该请求并通过验证凭据进行处理,如果正确,则使用加密的身份验证票证通过
Set cookie
响应标头设置cookie。在每个后续请求中,浏览器通过
cookie
请求头将此cookie发送回服务器,解密并验证身份验证票证,如果它仍然有效,则“恢复”经过身份验证的会话:即识别经过身份验证的用户

API通常通过
授权
请求头进行身份验证。客户机通常首先向身份验证端点发送一个请求,其中包含一组凭据。可能是用户名/密码,也可能是客户端id/密码对,等等。服务器再次验证凭据,如果有效,则返回包含令牌的响应。然后,该令牌与客户端希望通过
授权
头发出的实际请求一起发送,如
授权:承载{token}
。标题还可以采用其他形式。例如,您可以改为使用基本身份验证,而不是点击身份验证端点,首先,您只需将用户名和密码作为Base64编码字符串传递,如
Authorization:basic{Base64编码用户:pass}

是的,无论是cookie还是
Authorization
头,都会随“授权”请求一起发送某些内容。但是,您发送的内容和处理方式取决于应用程序是如何设置为处理身份验证的,您在这里没有详细说明。例如,如果你的应用程序没有明确设置为知道它需要查找授权,并且实际上知道如何处理授权,那么你不能只发送带有基本身份验证的
授权

如果您使用的是基于cookie的身份验证方法,则可以通过将HTML表单将相同的数据以相同的方式传递到相同的URL(
x-www-form-urlencoded
)来模拟提交表单。响应将是用户访问的任何页面的HTML,但cookie将位于
Set cookie
处理程序中。您可以捕获这些内容,然后在请求的
Cookie
标题中发送这些内容。你可以通过邮递员这样的方式来完成这一切,但无论哪种方式,你都必须经历身份验证过程


如果您正在处理一个API,那么您应该使用其他形式的身份验证:basic、Bear等。但是,同样,您需要实际设置它。

这里有大量未知项,因为您的问题并不具体。一般来说,auth通常由两种主要方式之一处理:cookie或
授权

基于Cookie的身份验证是更传统的web身份验证形式。您使用用户名和密码在登录页面上提交表单,服务器接收该请求并通过验证凭据进行处理,如果正确,则使用加密的身份验证票证通过
Set cookie
响应标头设置cookie。在每个后续请求中,浏览器通过
cookie
请求头将此cookie发送回服务器,解密并验证身份验证票证,如果它仍然有效,则“恢复”经过身份验证的会话:即识别经过身份验证的用户

API通常通过
授权
请求头进行身份验证。客户机通常首先向身份验证端点发送一个请求,其中包含一组凭据。可能是用户名/密码,也可能是客户端id/密码对,等等。服务器再次验证凭据,如果有效,则返回包含令牌的响应。然后,该令牌与客户端希望通过
授权
头发出的实际请求一起发送,如
授权:承载{token}
。标题还可以采用其他形式。例如,您可以改为使用基本身份验证,而不是点击身份验证端点,首先,您只需将用户名和密码作为Base64编码字符串传递,如
Authorization:basic{Base64编码用户:pass}

是的,无论是cookie还是
Authorization
头,都会随“授权”请求一起发送某些内容。但是,您发送的内容和处理方式取决于应用程序是如何设置为处理身份验证的,您在这里没有详细说明。您不能只发送
授权
hea