Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.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
Php 自定义API的ASP.NET身份验证_Php_Authentication_Asp.net Web Api - Fatal编程技术网

Php 自定义API的ASP.NET身份验证

Php 自定义API的ASP.NET身份验证,php,authentication,asp.net-web-api,Php,Authentication,Asp.net Web Api,我知道这是一个非常有争议的话题,但我正在努力为我的案件找到解决方案 我已经在ASP.NET(c#4.5.1)中完成了一项正在运行的API服务。我的客户端使用php页面在我的服务器上调用page.aspx,并通过POST发送字符串。此字符串包含一个ID和一条密码消息。每个用户都有一个不同的密钥(AES 256),由于我有ID,所以我从数据库中获得正确的密钥来解密消息并执行其请求包含的操作。我还检查了IP,每个客户机只有一个批准的IP列表(当他们不使用调试模式进行测试时) 我喜欢这种方法,但现在我不

我知道这是一个非常有争议的话题,但我正在努力为我的案件找到解决方案

我已经在
ASP.NET(c#4.5.1)
中完成了一项正在运行的API服务。我的客户端使用php页面在我的服务器上调用page.aspx,并通过POST发送字符串。此字符串包含一个ID和一条密码消息。每个用户都有一个不同的密钥(AES 256),由于我有ID,所以我从数据库中获得正确的密钥来解密消息并执行其请求包含的操作。我还检查了IP,每个客户机只有一个批准的IP列表(当他们不使用调试模式进行测试时)

我喜欢这种方法,但现在我不得不让我的用户做一些购买。我已经实现了它(谢谢PayPal),它可以工作,但我觉得我的安全性很弱

因此,我想添加一些已知的已包装的身份验证系统,而无需重新编写任何已运行和调试的代码

因为它是从很多大型互联网服务中使用的,所以我想到了OAuth 2.0(我对此一无所知),但似乎每个谈论它的人都是为了创建一个使用Facebook、Google、Twitter等服务的登录。。不是我的情况。我有我自己的数据库我的用户列表,我需要100%安全地知道谁在调用我的API服务

我尝试创建一个新的Web API 2项目(MVC..damn),但我不明白如果不重写API调用的逻辑,我是否可以用于我的服务(从我看到的情况来看,答案是

因此,问题是:我可以使用什么样的身份验证方法,它既易于实现,又不需要重写已经运行的代码,并且可以从使用PHP的客户端使用?

我在看Scott Allen关于Pluralsight的“ASP.NET MVC 5基础知识”教程,他在教程中很好地解释了这一点。但在观看该教程之前,对于我开发的一个应用程序,我们在数据库中有一个表,其中包含登录时出现的问题。然后,客户机将发送令牌及其请求。在服务器端,我做了一个名为[CheckToken]的自定义属性,在该属性中,我会检查数据库中是否存在令牌,以及它是否仍然有效(未过期等)。我更进一步,有时会交换令牌,以便即使令牌被盗,它也不会长期有效。这样,用户就不必一直保持登录状态。

所有粗体字有什么用。。。