Как сделать пользовательскую безопасность авторизации на основе базы данных после успешного входа в систему ?
Проблема
Я работаю над использованием проекта asp.net mvc 5 и SQL server 2012 .
Мне нужно сделать пользовательскую систему авторизации на основе базы данных с помощью ado.net технология
так что если кто то может помочь ресурсами или исходным кодом или написать исходный код или шаги
после успешной загрузки логина
Мне нужно перед любой страницей в приложении открыть проверить или проверить роль
если у вас есть true on status в таблице user_roles, то откройте страницу
если нет, то перенаправление на страницу доступа будет запрещено .
так что же мне делать после входа в систему ?
то есть какое действие событие выполнено и где обрабатывать доступ к действию или доступ запрещен
Что я уже пробовал:
Я создаю 3 таблицы
Пользователи
Роли
User_roles (идентификатор пользователя из таблицы пользователей ,roleid от роли стола)
Образец
Таблица User_roles
userid roleid pagenam статус
счета администрации Мишель.аспн правда
[HttpPost] public ActionResult Login(LoginView loginView, string ReturnUrl = "") { if (ModelState.IsValid) { if (Membership.ValidateUser(loginView.UserName, loginView.Password)) { var user = (CustomMembershipUser)Membership.GetUser(loginView.UserName, false); if (user != null) { CustomSerializeModel userModel = new Models.CustomSerializeModel() { UserId = user.UserId, FirstName = user.FirstName, LastName = user.LastName, RoleName = user.Roles.Select(r => r.RoleName).ToList() }; string userData = JsonConvert.SerializeObject(userModel); FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket ( 1, loginView.UserName, DateTime.Now, DateTime.Now.AddMinutes(15), false, userData ); string enTicket = FormsAuthentication.Encrypt(authTicket); HttpCookie faCookie = new HttpCookie("Cookie1", enTicket); Response.Cookies.Add(faCookie); } if (Url.IsLocalUrl(ReturnUrl)) { return Redirect(ReturnUrl); } else { return RedirectToAction("Index"); } } } ModelState.AddModelError("", "Something Wrong : Username or Password invalid ^_^ "); return View(loginView); }