【发布时间】:2013-12-04 22:08:31
【问题描述】:
我已经使用自定义基本身份验证在我的 RESTFUL WCF 服务中设置了安全性(因此停用了 iis 基本身份验证并且根本不使用 Windows 帐户登录;我的服务由 iis 托管)使用以下链接。
我了解消费者必须实现客户端才能在请求标头中传递凭据。
它是基于 64 位的编码,我们可以在调试时看到在 firebug 网络选项卡中传递的凭据(它始终是相同的字符串编码 相同的凭据......)
因此,此外,为了加强安全性,我将添加 SSL 来加密 url:
https://myrestfulserviceurl.com/Method
现在消费者问我为什么我们不把登录名和密码放在 url 请求中,即
https://myrestfulserviceurl.com/Method?login=XXX&password=YYY (也与 SSL 结合使用)
因此更改需要在我的操作合同中添加登录名和密码作为参数,并在我的方法“方法”中调用一个方法进行身份验证..等
我的问题是:
自定义基本身份验证(请求标头中的凭据)和简单地在参数中的 url 中传递凭据之间有什么区别(两种方案都将使用 ssl)?
我的意思是:我只是在问自己为什么要费心实施基本身份验证。在 url 或 header 中传递凭据看起来很相似:它在请求中传递东西。但是从安全性的角度来说,看起来是一样的?
除了基于 64 位的编码之外,基本身份验证看起来并不安全。
如果我错了,请纠正我。
我只是在寻找实施自定义基本身份验证的原因。
有什么想法/建议吗? 谢谢
【问题讨论】:
标签: wcf security rest ssl basic-authentication