c# – 根据ASP.NET MVC 4 Internet应用程序登录中的用户角色重定
发布时间:2020-12-15 22:11:15 所属栏目:百科 来源:网络整理
导读:我正在创建ASP.NET MVC 4 Internet应用程序.在该申请中 我创建了任何用户都可以登录的登录页面,然后我尝试根据用户的角色将用户重定向到不同的页面. ASP.NET Identity是这里的成员系统. 在我的AspNetRoles表中,我有两个角色: Id| Name1 | HEI_Admin2 | HEI_
我正在创建ASP.NET MVC 4 Internet应用程序.在该申请中
我创建了任何用户都可以登录的登录页面,然后我尝试根据用户的角色将用户重定向到不同的页面. ASP.NET Identity是这里的成员系统. 在我的AspNetRoles表中,我有两个角色: Id| Name 1 | HEI_Admin 2 | HEI_User 这是我的登录控制器方法: [HttpPost] [AllowAnonymous] [ValidateAntiForgeryToken] public async Task<ActionResult> Login(LoginViewModel model,string returnUrl) { if (ModelState.IsValid) { var user = await UserManager.FindAsync(model.UserName,model.Password); if (user != null) { if (user.ConfirmedEmail == true) { await SignInAsync(user,model.RememberMe); if (String.IsNullOrEmpty(returnUrl)) { if (UserManager.IsInRole(user.Id,"HEC_Admin")) { return RedirectToAction("Index","HEC"); } //role Admin go to Admin page if (UserManager.IsInRole(user.Id,"HEI_User")) { return RedirectToAction("Index","HEI"); } } else { return RedirectToLocal(returnUrl); } } else { ModelState.AddModelError("","Confirm Email Address."); } } else { ModelState.AddModelError("","Invalid username or password."); } } // If we got this far,something failed,redisplay form return View(model); } 但是当我尝试使用正确的凭据进行记录时,我遇到以下错误: 建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接. 所有连接都经过双重检查,如何才能实现这个问题. 解决方法if (ModelState.IsValid) { var user = await UserManager.FindAsync(model.UserName,model.Password); if (user != null) { await SignInAsync(user,model.RememberMe); if (UserManager.IsInRole(user.Id,"Admin")) { return RedirectToAction("Index","Admin"); } else if (UserManager.IsInRole(user.Id,"Clerk")) { return RedirectToAction("Index","Employee"); } else if (UserManager.IsInRole(user.Id,"Customer")) { return RedirectToAction("Index","Customer"); } //return RedirectToLocal(returnUrl); } else { ModelState.AddModelError("","Invalid username or password"); } } // If we got this far,redisplay form return View(model); } 这是我用于重定向的代码.还要查看是否将userID和RoleID插入到ASPNETUserRoles表中 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |