【发布时间】:2016-12-22 20:24:31
【问题描述】:
我在 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);
}
}
}
【问题讨论】: