如何在asp.net中创建具有用户名和密码的WCF web服务
本文关键字:密码 WCF 服务 web 用户 asp net 创建 | 更新日期: 2023-09-27 18:07:31
我想创建wcf web service
,在asp.net
中有username
和password
,所以通过提供用户名和密码,我们可以使用任何web方法。我已经创建了wcf web服务,但我想在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测试工具:你必须输入上面指定的样例值(testUser, testPassword),除非你更改它们。
有关此特定主题的进一步信息和其他实现示例,您也可以在我的博客上阅读这篇文章。