C# 休息服务保安

C# 休息服务保安,c#,security,rest,C#,Security,Rest,我有各种各样的c#rest服务在数据库上执行正常的CRUD任务 例如,我有一个rest服务将一个客户添加到我的客户数据库表中,该表需要XML,如下所示 <CreateCustomerRequest> <Name>Customer name</Name> <Surname>Customer surname</Surname> </CreateCustomerRequest> 客户名称 客户姓氏 因此,任何

我有各种各样的c#rest服务在数据库上执行正常的CRUD任务

例如,我有一个rest服务将一个客户添加到我的客户数据库表中,该表需要XML,如下所示

<CreateCustomerRequest>
    <Name>Customer name</Name>
    <Surname>Customer surname</Surname>
</CreateCustomerRequest>

客户名称
客户姓氏

因此,任何知道URL和正确XML结构的人都可以调用rest服务并将客户插入到我的数据库中。确保不执行未经授权的插入的最佳方法是什么?可能是一个密钥发送,请求计算为MD%([名称字段]+[姓氏字段]+[共享客户端/服务器密钥]?

您可以对REST服务使用基本身份验证。 每个调用都需要发送身份验证信息,否则调用将以401失败

基本上,需要将以下内容附加到请求的内容头中:

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

如果您需要那种级别的安全性,您还可以实现SSL并让客户机随每个请求一起发送证书

除非你是该领域的专家,否则不要试图发明自己的安全性。

如果你使用的是c,只需使用内置的Asp.Net身份验证提供程序即可

您可以使用asp.net支持的任何类型的身份验证,甚至可以使用自己的提供程序

最好使用框架支持的内容