WCF REST的身份验证方法

时间:2011-09-11 22:55:13

标签: c# wcf rest

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

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

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

1 个答案:

答案 0 :(得分:4)

尝试通过将Http方法从GET更改为POST来隐藏用户名和密码基本上没有增加安全性。即使是非常缺乏技术挑战的人也可以使用几乎任何程序来查看正在向服务器发送的数据。

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