public ClassCreateDatabase ManageCreateDatabase(string pQuery) { string name = ""; Match matchcreatedatabase2 = Regex.Match(pQuery, Constants.regExpCreateDatabase); if (matchcreatedatabase2.Success) { name = matchcreatedatabase2.Groups[1].Value; } ClassCreateDatabase query = new ClassCreateDatabase(name); return(query); }
public static String init(string name, string pUser, string pPassword) { string res; if (!Directory.Exists("..//..//..//data//" + name)) { if (pUser.Equals("admin") && pPassword.Equals("admin")) { res = Constants.CreateDatabaseSuccess; ClassCreateDatabase dbc = new ClassCreateDatabase(name); dbc.Run(name); return(res); } else { res = Constants.SecurityNotSufficientPrivileges + "Not Admin"; return(res); } } if (pUser == "admin" && pPassword == "admin") { privileges = new String[4] { "DELETE", "INSERT", "SELECT", "UPDATE" }; res = Constants.OpenDatabaseSuccess; return(res); } else { DirectoryInfo di = new DirectoryInfo(@"..//..//..//data//" + dbname + "//profiles"); FileInfo[] files = di.GetFiles(); foreach (var file in files) { string line; string tempf = file.Name; using (StreamReader sr = new StreamReader(@"..//..//..//data//" + dbname + "//profiles//" + tempf)) { while ((line = sr.ReadLine()) != null) { string[] parts = line.Split(','); if (parts[0].Equals(pUser) && parts[1].Equals(pPassword)) { res = Constants.OpenDatabaseSuccess; profile = tempf; //We identify all the user's privileges string[] dirs = Directory.GetFiles(@"..//..//..//data//" + dbname); int size = dirs.Length; userprivileges = new List <TablePrivileges>(); foreach (string filesec in dirs) { if (filesec.Contains(".sec")) { string[] temppriv = File.ReadAllLines(filesec); foreach (string prfsec in temppriv) { string[] splittedprof = prfsec.Split(','); if (splittedprof[0] + ".pf" == profile) { string[] privilegesprf = splittedprof[1].Split('/'); Match a = Regex.Match(filesec, Constants.getTable); userprivileges.Add(new TablePrivileges(a.Groups[1].Value, privilegesprf)); } } } } return(res); } } } } res = Constants.SecurityIncorrectLogin; return(res); } }