我想在wcf web service
中创建username
和password
的{{1}}。因此,通过提供该用户名和密码,我们可以使用任何网络方法。我有已经创建了wcf Web服务,但我想在Web服务中添加用户名和密码。
提前感谢。
答案 0 :(得分:0)
以下是实现您所要求的所需步骤:
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测试工具:您必须输入示例值上面指定的( testUser , testPassword ),除非您更改它们。
有关此特定主题和其他实施示例的更多信息,您还可以在我的博客上read this post。