使用 UserNamePasswordValidator 的 WCF 自定义身份验证



我在 WCF 服务中使用了UserNamePasswordValidator进行自定义身份验证。我正在使用静态变量UserId并设置变量的值,如下所示。由于我使用的是静态变量,它将覆盖两个请求之间的UserId值。如何获得服务方法UserId

public class CustomUserNameValidator : UserNamePasswordValidator
{
public static int IsSuccess = 0;
public static int UserId=0;
public override void Validate(string userName, string password)
{
this.IsValidate(username,password);
}
private int isValidate(string stUserName, string password)
{
try
{
LoginUser objUser=DBContext.ValidateUser(stUserName,password);
if(objUser!=null)
{
UserId=objUser.UserId;
IsSuccess=1;
}
}
Catch(Exception ex)
{
Logger.Log(ex);
}
}
}

我得到了如何在WCF服务方法中获取用户名和密码的解决方案,同时在WCF中使用UsernamePasswordValidatorwshttpbinding一起使用。

真的很好的帖子 http://www.neovolve.com/2008/04/07/wcf-security-getting-the-password-of-the-user/

最新更新