REST服务安全性

3
我有各种 c# REST 服务,可以在数据库上执行常规的 CRUD 任务。
例如,我有一个 REST 服务,用于将客户添加到我的客户数据库表中,该服务将期望以下格式的 XML:
<CreateCustomerRequest>
    <Name>Customer name</Name>
    <Surname>Customer surname</Surname>
</CreateCustomerRequest>

任何知道URL和正确的XML结构的人都可以调用REST服务并将客户插入到我的数据库中。如何确保未经授权的插入不会发生?也许可以使用随请求发送的密钥,该密钥计算为MD5([名字字段] + [姓氏字段] + [共享客户端/服务器密钥])?
2个回答

4
您可以在REST服务中使用基本身份验证。每次调用都需要发送身份验证信息,否则调用将失败并返回401错误。
基本上,以下内容需要附加到请求的内容头中:
Authorization: Basic YWRtaW46YWRtaW4x

其中YWRtaW46YWRtaW4x是base64编码的用户名:密码

如果需要更高级别的安全性,您还可以实现SSL,并要求客户端在每个请求中发送证书。

除非您是该领域的专家,否则不要尝试发明自己的安全措施。


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接