WCF REST的身份验证方法

本文关键字:方法 身份验证 REST WCF | 更新日期: 2023-09-27 18:08:11

我有一个WCF REST文件服务器,它通过在每个请求中接受两个附加参数(用户名和密码)来验证用户。例如:System.IO.Stream Download(string username, string password, int fileid)

我想对所有方法使用GET,但我不能这样做,因为我不想在地址栏中看到用户名和密码。相反,我使用的是POST,它不是完全防弹的,但在这种情况下仍然是比GET更好的选择。

除了基本的HTTP身份验证之外,还有其他更好的用户验证方法吗?最好是能够让我使用GET而不必在URL中包含用户名和密码的东西。

WCF REST的身份验证方法

试图通过将Http方法从GET更改为POST来隐藏用户名和密码基本上没有增加安全性。即使对技术非常不熟悉的人也可以使用几乎任何程序来查看发送到服务器的数据。

现在除了明显的用户名密码问题之外,您可以使用HTTP Headers而不是QueryString参数将值传递回WCF服务(RESTful)。这将允许您使用GET方法并仍然传递用户名和密码,而不需要URL中存在的那些特定值,但是,这实际上没有增加安全性。