public override string[] GetRolesForUser(string username) { using (GymDBEntities objContext = new GymDBEntities()) { var objUser = objContext.tblUsers.FirstOrDefault(x => x.Username == username); if (objUser == null) { return(null); } else { string[] ret = objUser.UserRoles.Select(x => x.Role.RoleName).ToArray(); return(ret); } } }
public ActionResult Login(LoginViewModel l, string ReturnUrl = "") { if (ModelState.IsValid) { using (GymDBEntities db = new GymDBEntities()) { var users = db.tblUsers.Where(a => a.Username == l.Username && a.Password == l.Password).FirstOrDefault(); if (users != null) { Session.Add("emailid", users.Email); Session.Add("userid", users.UserId); Session.Add("fullname", users.Fullname); Session.Add("photo", users.Photo); FormsAuthentication.SetAuthCookie(l.Username, true); if (Url.IsLocalUrl(ReturnUrl)) { return(Redirect(ReturnUrl)); } else { tblUser tb = db.tblUsers.Where(u => u.Username == l.Username && u.Password == l.Password).FirstOrDefault(); MyRoleProvider mp = new MyRoleProvider(); if (mp.IsUserInRole(l.Username, "User") == true) { //if (User.IsInRole("Teacher")) //{ return(RedirectToAction("Index", "User")); } else if (mp.IsUserInRole(l.Username, "Admin") == true) { return(RedirectToAction("Index", "Admin")); } } } else { ViewBag.Message = "Invalid user"; } } } return(View()); }