ASP.NET MVC 5 – 创建自己的登录

HY,

我是MVC 5(或任何其他MVC)的新手。 我想通过注册创建自己的自定义登录。 有人能指点我吗?

登录应该有一个简单的电子邮件和密码文本框。 注册应该具有存储在表(用户)中的第一/姓氏,年龄等附加数据以及具有要选择的角色的下拉框(存储在表“角色”中)。 成功登录/注册后,应将用户重定向到仪表板。

或者有一个关于MVC 5的好教程..我刚刚找到一个用于MVC 4 。

感谢帮助 :)

试试这个

[AllowAnonymous] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; return View(); } [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task Login(LoginViewModel model, string returnUrl) { if (ModelState.IsValid) { var user = MyViewModels.checkUser(model.UserName, model.Password); if (user!=null) { SignInAsync(); return RedirectToAction("Welcome"); } else { ModelState.AddModelError("", "Invalid username or password."); } } return View(model); } private void SignInAsync() { var claims = new List(); claims.Add(new Claim(ClaimTypes.Name, "UserName")); claims.Add(new Claim(ClaimTypes.Email, "User@mail.com")); var id = new ClaimsIdentity(claims, DefaultAuthenticationTypes.ApplicationCookie); var ctx = Request.GetOwinContext(); var authenticationManager = ctx.Authentication; authenticationManager.SignIn(id); } [Authorize] public ActionResult Welcome() { return View(); } 

如果在操作中添加[Authorize]属性,则它将仅重定向用户名和密码进行授权

用于从数据库获取用户名和密码的函数

 public static UserTable checkUser(string userName, string password) { DemoEntities db = new DemoEntities(); var query = (from u in db.UserTables where u.UserName == userName && u.Password == password select u).FirstOrDefault(); if(query!=null) return query; else return null; }