public override void AddUsersToRoles(string[] usernames, string[] roleNames) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { foreach (String user in usernames) { foreach (String rol in roleNames) { usersgroup usrgrp = (from e1 in db.usersgroups let usr = db.users.Where(u => u.UserName == user).FirstOrDefault() let grp = db.groups.Where(g => g.GroupName == rol).FirstOrDefault() select new usersgroup { IdUsers = usr != null ? usr.IdUsers : -1, IdGroups = grp != null ? grp.IdGroups : -1 }).FirstOrDefault(); if (usrgrp.IdGroups != -1 || usrgrp.IdUsers != -1) { db.usersgroups.AddObject(usrgrp); db.SaveChanges(); } } } } }
public override void CreateRole(string roleName) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { db.groups.AddObject(new group() { GroupName = roleName }); db.SaveChanges(); } }
public override bool DeleteRole(string roleName, bool throwOnPopulatedRole) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { try { group grp = db.groups.Where(g => g.GroupName == roleName).FirstOrDefault(); db.groups.DeleteObject(grp); db.SaveChanges(); return true; } catch (Exception) { return false; } } }
public override bool ValidateUser(string username, string password) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { string pass = GetSHA1(password); if (db.users.Where(u => u.UserName == username && u.Password == pass).FirstOrDefault() != null) return true; else return false; } }
public override bool DeleteUser(string username, bool deleteAllRelatedData) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { user usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr != null) { try { db.users.DeleteObject(usr); db.SaveChanges(); return true; } catch (Exception ex) { return false; } } else return false; } }
public override MembershipUser CreateUser(string username, string password, string email, string passwordQuestion, string passwordAnswer, bool isApproved, object providerUserKey, out MembershipCreateStatus status) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { user usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr == null) { usr = new user() { UserName = username, Password = GetSHA1(password) }; try { db.users.AddObject(usr); db.SaveChanges(); MembershipUser msUser = new MembershipUser("MySQLMembershipProvider", usr.UserName, providerUserKey, usr.UserName + "@dxstudio.net", string.Empty, string.Empty, true, false, DateTime.MinValue, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now); status = MembershipCreateStatus.Success; return msUser; } catch (Exception ex) { //Verificamos que efectivamente no se cree el usuario usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); if (usr != null) { db.users.DeleteObject(usr); db.SaveChanges(); } status = MembershipCreateStatus.UserRejected; return null; } } else { MembershipUser msUser = new MembershipUser("MySQLMembershipProvider", usr.UserName, providerUserKey, usr.UserName + "@dxstudio.net", string.Empty, string.Empty, true, false, DateTime.MinValue, DateTime.Now, DateTime.Now, DateTime.Now, DateTime.Now); status = MembershipCreateStatus.DuplicateUserName; return msUser; } } }
public override string[] FindUsersInRole(string roleName, string usernameToMatch) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { var users = from e1 in db.users where e1.IdUsers == (db.usersgroups.Where(u => u.IdGroups == db.groups.Where(g => g.GroupName == roleName).FirstOrDefault().IdGroups)).FirstOrDefault().IdUsers select e1.UserName; return users.Where(u => u.Contains(usernameToMatch)).ToArray(); } }
public override bool RoleExists(string roleName) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { if (db.groups.Where(g => g.GroupName == roleName).FirstOrDefault() != null) return true; else return false; } }
public override void RemoveUsersFromRoles(string[] usernames, string[] roleNames) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { foreach (String user in usernames) { foreach (String rol in roleNames) { usersgroup usrgrp = (from e1 in db.usersgroups let usr = db.users.Where(u => u.UserName == user).FirstOrDefault() let grp = db.groups.Where(g => g.GroupName == rol).FirstOrDefault() where e1.IdGroups == grp.IdGroups && e1.IdUsers == usr.IdUsers select e1).FirstOrDefault(); if (usrgrp != null) { db.usersgroups.DeleteObject(usrgrp); db.SaveChanges(); } } } } }
public override bool IsUserInRole(string username, string roleName) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { if (db.usersgroups.Where(ug => ug.IdUsers == db.users.Where(u => u.UserName == username).First().IdUsers && ug.IdGroups == db.groups.Where(g => g.GroupName == roleName).First().IdGroups).FirstOrDefault() != null) return true; else return false; } }
public override string[] GetUsersInRole(string roleName) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { group grp = db.groups.Where(g => g.GroupName == roleName).FirstOrDefault(); var usrs = db.usersgroups.Where(ug => ug.IdGroups == grp.IdGroups); List<string> users = new List<string>(); foreach (var usr in usrs) users.Add(db.users.Where(u => u.IdUsers == usr.IdUsers).FirstOrDefault().UserName); return users.ToArray(); } }
public override string[] GetRolesForUser(string username) { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { user usr = db.users.Where(u => u.UserName == username).FirstOrDefault(); var roles = db.usersgroups.Where(ug => ug.IdUsers == usr.IdUsers); List<string> rls = new List<string>(); foreach (var rol in roles) rls.Add(db.groups.Where(g => g.IdGroups == rol.IdGroups).FirstOrDefault().GroupName); return rls.ToArray(); } }
public override string[] GetAllRoles() { using (dbmysqlEntities db = new dbmysqlEntities(cnnstring)) { return db.groups.Select(g => g.GroupName).ToArray(); } }