繁体   English   中英

Web服务器到C#应用程序的身份验证技术

[英]Techniques to Authenticate Web Server to C# Application

我有一个C#程序,该程序从服务器中获取XML以显示新闻,显示更新警报以及控制程序行为的一部分。 我可以使用哪些技术来确保程序连接到REAL服务器?

通常,我将SOAP Web服务用于类似的任务。 为了确保只有允许的客户端可以连接,我使用:

  • 确保仅允许HTTPS连接。
  • 将API密钥( string )作为所有Web服务方法的附加参数。

通过使用API​​密钥,服务器可以检查允许的API密钥列表(例如,存储在数据库中或仅存储为常量字符串),并使用无效的API密钥拒绝不允许的客户端请求。

一个例子是:

public class MyWebService : 
    WebService
{
    [WebMethod]
    public string GetXml(string apiKey) 
    { 
        if( isApiKeyValid(apiKey) )
        {
            var doc = new XmlDocument();

            // TODO: generate XML document.

            return doc.OuterXml;
        }
        else
        {
            throw new Exception("Invalid API key.");
        }
    }
}

isApiKeyValid函数将包含检查所传递的API密钥是否有效的逻辑。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM