验证用户详细信息

时间:2014-02-06 14:47:12

标签: c# asp.net asp.net-mvc-4 asp.net-web-api basic-authentication

我试图让UserPro类从User类读取一个方法,但我一直在体验“当前上下文中不存在名称'密码'”和“当前上下文中不存在名称'UserName' “在以下代码中:

public class UserPro : IProvidePrincipal
{

    private User _userRepo;

    public UserPro (User userRepo)
   {
    this._userRepo = userRepo;
   }

    public IPrincipal CreatePrincipal(string username, string password)
    {
        try 
        {
            if (!_userRepo.Validate(UserName, Password))
            {
                return null;
            }

            else
        {
            var identity = new GenericIdentity(username);
            IPrincipal principal = new GenericPrincipal(identity, new[] { "Admin" });

            return principal;
        }
    }
    catch
    {
        return null;
    }
    }   
}

用户类:

 public bool Validate(string UserName, string Password)
    {
        var user = db.api_login.FirstOrDefault(u => u.username == UserName
                 && u.password == Password);

        if (user != null)
        {
            if (user.password == Password)
            {
                return true;
            }
        }

        return false;
    }

我在方法中出错的任何建议?非常感谢

1 个答案:

答案 0 :(得分:2)

我认为用户名的U和密码的P应该很小。 例如:

if (!_userRepo.Validate(userName, password))
            {
                return null;
            }