Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/269.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# 使用WCF RESTful服务检查服务器上是否存在用户登录名和密码_C#_Wcf_Rest - Fatal编程技术网

C# 使用WCF RESTful服务检查服务器上是否存在用户登录名和密码

C# 使用WCF RESTful服务检查服务器上是否存在用户登录名和密码,c#,wcf,rest,C#,Wcf,Rest,我正在用C#、.NET Framework 4.0和Entity Framework 4.4.0.0开发一个WCF RESTful web服务 在SQL Server数据库中,我有一个包含用户的表,我想检查该表中是否存在发送登录名和密码的用户 我有一个URI:/users/{user\u id}来获取使用其用户id的用户 我想,我可以这样做:/users/login/{login}/password/{password},但我不知道这样做是否正确,因为登录和密码是公开的 如何检查是否存在具有相同

我正在用C#、.NET Framework 4.0和Entity Framework 4.4.0.0开发一个WCF RESTful web服务

在SQL Server数据库中,我有一个包含用户的表,我想检查该表中是否存在发送登录名和密码的用户

我有一个URI:
/users/{user\u id}
获取使用其
用户id
的用户

我想,我可以这样做:
/users/login/{login}/password/{password}
,但我不知道这样做是否正确,因为登录和密码是公开的

如何检查是否存在具有相同登录名和密码的用户,而不在URI上显示它们?(也许,
/users/login/{login}/password/{password}
,这是正确的方法)


注意:密码是加密的。

WCF(REST)服务是加密的。使用不同的身份验证方式。请参阅和。

如果您正在构建RESTful API,那么它实际上应该是无状态的——这意味着在每个请求上发送用户/密码,或者在每个请求上发送令牌

您需要在SSL下运行站点,以确保其安全。您的用户/密码或令牌应位于标题中。对于一个简单的站点,我建议使用基本的HTTP身份验证(如果你不知道它是什么,就用谷歌搜索它)。您可以对用户名/密码进行base64编码,并在每次请求时发送它们。请看这里:


还有一件事-我可能错了,因为我不知道你项目的细节,但我认为你不需要“确认”服务。听起来你有这个是为了登录。我建议当用户登录时,将他们引导到您的仪表板或登录区域。如果此时用户未通过身份验证,则重定向到登录。

在url中使用用户名和密码?!不要那样做!您应该使用PostThank来回答问题,但我在我的问题上犯了一个错误,这就是我想知道的:
我如何检查是否存在具有相同登录名和密码的用户,而不在URI上显示它们?
只需查询
/users/login/{login}
?谢谢您的回答,但我在我的问题上犯了一个错误,这就是我想知道的:
如何检查是否存在具有相同登录名和密码的用户,而不在URI上显示这些用户?
如果使用基本HTTP身份验证,您应该能够做到这一点。您将在标题中输入用户名/密码,而不是URL