// -- Snip -- public override string[] GetAllRoles() { using (var usersContext = new DataContext()) { return usersContext.Roles.Select(r => r.RoleName).ToArray(); } }
public override string[] GetRolesForUser(string username) { using (var usersContext = new DataContext()) { UserModel user = new UserModel(); try { user = usersContext.Users.SingleOrDefault(u => u.Email == username); if (user == null) return new string[] { }; return user.UserRoles == null ? new string[] { } : user.UserRoles.Select(u => u.Role).Select(u => u.RoleName).ToArray(); } catch (Exception ex) { //Ignore //Problem occur only where the program is trying to //recreate the user into the database in which the //database will not allow it to happen. //Return default return user.UserRoles == null ? new string[] { } : user.UserRoles.Select(u => u.Role).Select(u => u.RoleName).ToArray(); } } }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); WebApiConfig.Register(GlobalConfiguration.Configuration); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); DataContext db = new DataContext(); //Create all the roles db.AddRole(); //Create Adminstrator db.CreateAdmin(); //Operators for testing purpose: To be removed upon releasing db.CreateOrganization(); //db.CreateDiveResortOp(); //db.CreateDiveSiteOp(); }
public override bool IsUserInRole(string username, string roleName) { using (var usersContext = new DataContext()) { var user = usersContext.Users.SingleOrDefault(u => u.Email == username); if (user == null) return false; return user.UserRoles != null && user.UserRoles.Select( u => u.Role).Any(r => r.RoleName == roleName); } }
public ActionResult CreateUser(UserModel user) { if (ModelState.IsValid) { using (var db = new DataContext()) { //By default all registration of any user will start off as a normal user till they decide to request for a operator role //in manage a site/resort or both. if (db.Users.FirstOrDefault(u => u.Email == user.Email) == null) { var crypto = new SimpleCrypto.PBKDF2(); var encryptPass = crypto.Compute(user.Password); var u = new UserModel(); u.Email = user.Email; u.Password = encryptPass; u.PasswordSalt = crypto.Salt; db.Users.Add(u); db.SaveChanges(); UserRole UR = new UserRole(); UR.UserId = u.UserId; //Get from User input upon creating a new User //u.UserRoles = user.UserRoles; //Role R = new Role(); //foreach (var role in db.Roles.ToList()) //{ // if (role.RoleName == u.UserRoles.ToString()) // { // R = role; // break; // } //} Role R = new Role(); foreach (var role in db.Roles.ToList()) { if (role.RoleName == "Organization") { R = role; break; } } UR.RoleId = R.RoleId; UR.Role = R; db.UserRoles.Add(UR); db.SaveChanges(); OrganizationModel info = new OrganizationModel(); db.OrganizationInfo.Add(info); db.SaveChanges(); u.OrganizationId = info.OrganizationId; db.SaveChanges(); return Login(user); } } } else { ModelState.AddModelError("", "Data input is incorrect!"); } return View(); }
private UserModel SetupFormsAuthTicket(string userName, bool persistanceFlag) { UserModel user; using (var usersContext = new DataContext()) { user = usersContext.GetUser(userName); } var userId = user.UserId; var userData = userId.ToString(CultureInfo.InvariantCulture); var authTicket = new FormsAuthenticationTicket(1, //version userName, // user name DateTime.Now, //creation DateTime.Now.AddMinutes(30), //Expiration persistanceFlag, //Persistent userData); var encTicket = FormsAuthentication.Encrypt(authTicket); Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, encTicket)); return user; }
private bool IsValid(string email, string password) { var crypto = new SimpleCrypto.PBKDF2(); bool isValid = false; using (var db = new DataContext()) { var user = db.Users.FirstOrDefault(u => u.Email == email); if (user != null) { if (user.Password == crypto.Compute(password, user.PasswordSalt)) { isValid = true; } } } return isValid; }
public void CreateOrganization() { UserModel user = new UserModel(); user.Email = "*****@*****.**"; user.Password = "******"; using (var db = new DataContext()) { try { if (db.Users.FirstOrDefault(u => u.Email == user.Email) == null) { var crypto = new SimpleCrypto.PBKDF2(); var encryptPass = crypto.Compute(user.Password); var u = new UserModel(); u.Email = user.Email; u.Password = encryptPass; u.PasswordSalt = crypto.Salt; db.Users.Add(u); db.SaveChanges(); UserRole UR = new UserRole(); UR.UserId = u.UserId; Role R = new Role(); foreach (var role in db.Roles.ToList()) { if (role.RoleName == "Organization") { R = role; break; } } UR.RoleId = R.RoleId; UR.Role = R; db.UserRoles.Add(UR); db.SaveChanges(); } } catch (Exception ex) { } } }
//public void CreateDiveResortOp() //{ // UserModel user = new UserModel(); // user.Email = "*****@*****.**"; // user.Password = "******"; // using (var db = new DataContext()) // { // try // { // if (db.Users.FirstOrDefault(u => u.Email == user.Email) == null) // { // var crypto = new SimpleCrypto.PBKDF2(); // var encryptPass = crypto.Compute(user.Password); // var u = new UserModel(); // u.Email = user.Email; // u.Password = encryptPass; // u.PasswordSalt = crypto.Salt; // db.Users.Add(u); // db.SaveChanges(); // UserRole UR = new UserRole(); // UR.UserId = u.UserId; // Role R = new Role(); // foreach (var role in db.Roles.ToList()) // { // if (role.RoleName == "ResortOperator") // { // R = role; // break; // } // } // UR.RoleId = R.RoleId; // UR.Role = R; // db.UserRoles.Add(UR); // db.SaveChanges(); // } // } // catch (Exception ex) // { // } // } //} //public void CreateDiveSiteOp() //{ // UserModel user = new UserModel(); // user.Email = "*****@*****.**"; // user.Password = "******"; // using (var db = new DataContext()) // { // try // { // if (db.Users.FirstOrDefault(u => u.Email == user.Email) == null) // { // var crypto = new SimpleCrypto.PBKDF2(); // var encryptPass = crypto.Compute(user.Password); // var u = new UserModel(); // u.Email = user.Email; // u.Password = encryptPass; // u.PasswordSalt = crypto.Salt; // db.Users.Add(u); // db.SaveChanges(); // UserRole UR = new UserRole(); // UR.UserId = u.UserId; // Role R = new Role(); // foreach (var role in db.Roles.ToList()) // { // if (role.RoleName == "DiveCenterOperator") // { // R = role; // break; // } // } // UR.RoleId = R.RoleId; // UR.Role = R; // db.UserRoles.Add(UR); // db.SaveChanges(); // } // } // catch (Exception ex) // { // } // } //} //---------------Testing Purposes-------------------- public void AddRole() { DataContext db = new DataContext(); try { if (db.Roles.ToList().Count == 0) { Role r = new Role(); r.RoleName = "Administrator"; db.Roles.Add(r); db.SaveChanges(); r = new Role(); r.RoleName = "Organization"; db.Roles.Add(r); db.SaveChanges(); //r = new Role(); //r.RoleName = "DiveCenterOperator"; //db.Roles.Add(r); //db.SaveChanges(); //r = new Role(); //r.RoleName = "ResortOperator"; //db.Roles.Add(r); //db.SaveChanges(); r = new Role(); r.RoleName = "User"; db.Roles.Add(r); db.SaveChanges(); } } catch (Exception ex) { } }