我试图通过实施UserNamePasswordValidator
来提供用户身份验证。我添加了Microsoft.IdentityModel
和System.IdentityModel.Tokens.ValidatingIssuerNameRegistry
nuget包。我使用的是.Net framework 4.5.2
,但是当我在我的班级UserNamePasswordValidator
中实施UserAuthentication
时,我收到并收到错误"类型或命名空间名称选择器没有存在于命名空间System.IdentityModel
中(你是否遗漏了一些参考文献)。"我用谷歌搜索了它,但无法找到解决方案,我错过了什么吗?下面是我的UserAuthentication
班级
public class UserAuthentication : System.IdentityModel.Selectors.UserNamePasswordValidator
{
public override void Validate(string userName, string password)
{
try
{
if (userName == "test" && password == "test123")
{
Console.WriteLine("Authentic User");
}
}
catch (Exception ex)
{
throw new FaultException("Unknown Username or Incorrect Password");
}
}
}
答案 0 :(得分:5)
添加nuget包是不够的(在您的情况下也是不必要的),您需要在项目中引用dll。在解决方案资源管理器中查找“引用”列表。
右键单击 - >添加参考 - >输入System.IdentityModel到搜索框 - >选择正确的dll - >单击确定 - >很高兴