gpt4 book ai didi

asp.net - 如何在 ASP.NET MVC 5.1.2 OWIN 中以编程方式验证用户或进行身份验证

转载 作者:行者123 更新时间:2023-12-02 16:04:51 26 4
gpt4 key购买 nike

如何在 ASP.NET MVC 5.1.2 中验证用户?

在旧版本的 MVC 3,4 中,我们有简单的成员资格。所以我们确实使用membership.validate(user.name,password)。但在 ASP.NET MVC 5 中,情况完全改变了。

以编程方式登录后,例如

   await SignInAsync(user, model.RememberMe); // after login HttpContext.Current.User.Identity.IsAuthenticated is false . Odd.
private async Task SignInAsync(ApplicationUser user, bool isPersistent) {
AuthenticationManager.SignOut(DefaultAuthenticationTypes.ExternalCookie);
AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = isPersistent }, await user.GenerateUserIdentityAsync(Manager));
}

以前没有身份验证系统。要验证用户,我们可以这样做:

最佳答案

        public static ApplicationUserManager Manager {
get {
return _userManager ?? HttpContext.Current.GetOwinContext().GetUserManager<ApplicationUserManager>();
}
private set {
_userManager = value;
}
}

public static async Task<ApplicationUser> GetUserAsync(string userName, string password) {
return await Manager.FindAsync(userName: userName, password: password);
}
public static ApplicationUser GetUserByEmail(string email, string password) {
var user = Manager.FindByEmail(email);
return Manager.Find(user.UserName, password);
}

如果这些确实返回任何用户,那么我们必须假设该用户有效,否则无效。

关于asp.net - 如何在 ASP.NET MVC 5.1.2 OWIN 中以编程方式验证用户或进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26574861/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com