public ActionResult Login(AccountModel.LoginModel model, string returnUrl) { if (ModelState.IsValid) { using (UsersRepository usersRepository = new UsersRepository()) { Users user = usersRepository.GetUserByLoginModel(model); if ( user== null) ModelState.AddModelError("LogOnError", "The user name or password provided is incorrect."); else { FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe); Session["UserID"] = user.UserID; Session["MyMenu"] = null; if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/") && !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\")) { return Redirect(returnUrl); } else { //Redirect to default page return RedirectToAction("RedirectToDefault"); } } } } // If we got this far, something failed, redisplay form return View(model); }
public override string[] GetRolesForUser(string username) { using (UsersRepository objContext = new UsersRepository()) { var objUser = objContext.GetUserByName(username); if (objUser == null) { return null; } else { var roles = objUser.UserRoles.Select(x => x.RoleID).ToList(); using (RoleRepository objRole = new RoleRepository()) { return(from e in objRole.GetAllRoles() where roles.Contains(e.RoleID) select e.RoleName).ToArray(); } } } }