如何在asp.net中创建具有用户名和密码的WCF web服务

本文关键字:密码 WCF 服务 web 用户 asp net 创建 | 更新日期: 2023-09-27 18:07:31

我想创建wcf web service,在asp.net中有usernamepassword,所以通过提供用户名和密码,我们可以使用任何web方法。我已经创建了wcf web服务,但我想在web服务添加用户名和密码。

如何在asp.net中创建具有用户名和密码的WCF web服务

以下是实现您要求的必要步骤:

1)使用Visual Studio的"新项目"界面创建一个新的WCF项目:你将得到两个主要文件:Service1。svc(代码文件)和IService1.cs(接口文件).

2)打开IService1.cs文件,像这样定义你的方法:
[ServiceContract]
public interface IService1
{
    [...]
    // TODO: Add your service operations here
    [OperationContract]
    string GetToken(string userName, string password);
}

3)打开Service1.cs文件,按如下方式添加方法的实现:

/// <summary>
/// Retrieve a non-permanent token to be used for any subsequent WS call.
/// </summary>
/// <param name="userName">a valid userName</param>
/// <param name="password">the corresponding password</param>
/// <returns>a GUID if authentication succeeds, or string.Empty if something goes wrong</returns>
public string GetToken(string userName, string password)
{
    // TODO: replace the following sample with an actual auth logic
    if (userName == "testUser" && password == "testPassword")
    {
        // Authentication Successful
        return Guid.NewGuid().ToString();
    }
    else
    {
        // Authentication Failed
        return string.Empty;
    }
}

基本上就是这样。您可以使用此技术检索(即将过期的&安全)令牌在任何后续调用中使用-这是最常见的行为-或者在所有方法中实现用户名/密码策略:这完全是你的调用。

要测试你的新服务,你可以在调试模式下启动你的MVC项目,并使用内置的WCF测试工具:你必须输入上面指定的样例值(testUsertestPassword),除非你更改它们。

有关此特定主题的进一步信息和其他实现示例,您也可以在我的博客上阅读这篇文章。