public override string[] GetRolesForUser(string login) { string[] role = new string[] { }; using (FSContext _db = new FSContext()) { try { // Получаем пользователя User user = (from u in _db.Users where u.Login == login select u).FirstOrDefault(); if (user != null) { // получаем роль Role userRole = _db.Roles.Find(user.RoleId); if (userRole != null) { role = new string[] { userRole.Name }; } } } catch { role = new string[] { }; } } return role; }
public override void CreateRole(string roleName) { Role newRole = new Role() { Name = roleName }; FSContext db = new FSContext(); db.Roles.Add(newRole); db.SaveChanges(); }
static void Main(string[] args) { FSContext Context = new FSContext(); foreach (Role r in Context.GetAllRoles()) { Console.WriteLine(r.Name); } foreach (User u in Context.GetAllUsers()) { Console.WriteLine(u.Login); } Console.ReadLine(); }
public MembershipUser CreateUser(string login, string password) { MembershipUser membershipUser = GetUser(login, false); if (membershipUser == null) { try { using (FSContext _db = new FSContext()) { User user = new User(); user.Login = login; user.Password = password;/*Crypto.HashPassword(password);*/ if (_db.Roles.Find(1) != null) { user.RoleId = 1; //Присваиваем по умолчанию роль Usera } _db.Users.Add(user); _db.SaveChanges(); membershipUser = GetUser(login, false); return membershipUser; } } catch { return null; } } return null; }
public override bool ValidateUser(string username, string password) { bool isValid = false; using (FSContext _db = new FSContext()) { try { User user = _db.Users.Where(u=>u.Login == username).FirstOrDefault(); if ((user != null) && (user.Password == password)) { isValid = true; } } catch { isValid = false; } } return isValid; }
public override MembershipUser GetUser(string login, bool userIsOnline) { try { using (FSContext _db = new FSContext()) { var users = from u in _db.Users where u.Login == login select u; if (users.Count() > 0) { User user = users.First(); MembershipUser memberUser = new MembershipUser("MyMembershipProvider", user.Login, null, null, null, null, false, false, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue, DateTime.MinValue); return memberUser; } } } catch { return null; } return null; }
public FSearch(int type, int itemId, string ask, int tpcsPerPage = 10, int msgsPerPage = 10) { context = new FSContext(); FoundFTopics = new List<FoundFTopic>(); FoundFMessages = new List<FoundFMessage>(); TpcsPerPage = tpcsPerPage; MsgsPerPage = msgsPerPage; Ask = ask; switch (type) { case 0: PlaceType = "везде"; PlaceName = ""; LinkBackHref = "/Forum/FSections"; LinkBackText = " << Разделы << "; CheckFSections(); break; case 1: PlaceType = "в разделе"; FSection section = context.GetFSectionById(itemId); PlaceName = section.Name; LinkBackHref = "/Forum/FSubsections?sectionId=" + section.Id; LinkBackText = " << " + section.Name + " << "; CheckFSubsections(section); break; case 2: FSubsection subsection = context.GetFSubsectionById(itemId); PlaceType = "в секции"; PlaceName = subsection.Name; LinkBackHref = "/Forum/FTopics?sectionId=" + subsection.FSectionId + "&&subsectionId=" + subsection.Id; LinkBackText = " << " + subsection.Name + " << "; CheckFTopics(subsection.FSection, subsection); break; case 3: FTopic topic = context.GetFTopicById(itemId); PlaceType = "в теме"; PlaceName = topic.Name; LinkBackHref = "/Forum/FMessages?sectionId=" + topic.FSubsection.FSectionId + "&&subsectionId=" + topic.FSubsectionId + "&&topicId=" + topic.Id; LinkBackText = " << " + topic.Name + " << "; FindFMessages(topic, topic.FSubsection, topic.FSubsection.FSection); break; default: break; } }
public override bool IsUserInRole(string login, string roleName) { bool outputResult = false; // Находим пользователя using (FSContext _db = new FSContext()) { try { // Получаем пользователя User user = (from u in _db.Users where u.Login == login select u).FirstOrDefault(); if (user != null) { // получаем роль Role userRole = _db.Roles.Find(user.RoleId); //сравниваем if (userRole != null && userRole.Name == roleName) { outputResult = true; } } } catch { outputResult = false; } } return outputResult; }