public void CreateNew(Options options) { bool errored = false; if (string.IsNullOrEmpty(options.Name)) { WriteErrorLine("Rbac name is required"); errored = true; } if (string.IsNullOrEmpty(options.AppCs)) { WriteErrorLine("Application connection string is required"); errored = true; } if (errored) { return; } Rbac rbac = new Rbac(); rbac.Callback += Rbac_Callback; Rbac newRbac = rbac.CreateNew(options.Name, options.Description, options.AppCs, string.Empty); rbac.ChangePassword(options.Password); WriteColor(ConsoleColor.Green, "Done!" + Environment.NewLine); Console.WriteLine(); Console.Write("Rbac '{0}' was created with id '{1}. Now it's time to configure some roles & users in the RBAC website.", options.Name, newRbac.RbacId); Console.WriteLine(); }
public void Setup() { Rbac rbac = new Rbac(); rbac = rbac.CreateNew("books", "books description", @"Data Source=LPT-03084856325\SQLEXPRESS;Initial Catalog=books;Integrated Security=True", File.ReadAllText(Path.Combine(_rootDir, "Books", "entitlement.xml"))); InsertRoles(rbac); GenericParserAdapter parser = new GenericParserAdapter(Path.Combine(_rootDir, "Books", "BooksUsers.csv")); parser.FirstRowHasHeader = true; DataTable table = parser.GetDataTable(); if (table.Rows.Count > 0) { foreach (DataRow dataRow in table.Rows) { RbacRole role = roles.Where(r => r.Name == dataRow["Role"].ToString()).SingleOrDefault(); if (role == null) { throw new Exception(dataRow["Role"].ToString() + " is not defined!"); } RbacUser user = Rbac.CreateUser(dataRow[0].ToString(), dataRow[1].ToString(), dataRow[2].ToString(), "password", role); if (role.Name == "role_city_mgr") { user.AddParameter("{CityNames}", "('New York','Charlotte')"); } else if (role.Name == "role_state_mgr") { user.AddParameter("{ShortNames}", "('NY','NC')"); } else if (role.Name == "role_country_mgr") { user.AddParameter("{CountryCodes}", "('IN','US')"); } } } }
public void Setup(Options options) { if (string.IsNullOrEmpty(options.ConnectionString)) { WriteErrorLine("Connection string is required. Please use -x <connection string>"); return; } Rbac rbac = new Rbac(); rbac = rbac.CreateNew("books", "books description", options.ConnectionString, File.ReadAllText(Path.Combine(_rootDir, "Books", "entitlement.xml"))); Console.Write("."); InsertRoles(rbac); GenericParserAdapter parser = new GenericParserAdapter(Path.Combine(_rootDir, "Books", "BooksUsers.csv")); parser.FirstRowHasHeader = true; DataTable table = parser.GetDataTable(); if (table.Rows.Count > 0) { foreach (DataRow dataRow in table.Rows) { RbacRole role = roles.Where(r => r.Name == dataRow["Role"].ToString()).SingleOrDefault(); if (role == null) { throw new Exception(dataRow["Role"].ToString() + " is not defined!"); } RbacUser user = Rbac.CreateUser(dataRow[0].ToString(), dataRow[1].ToString(), dataRow[2].ToString(), "password", role); if (role.Name == "role_city_mgr") { user.AddParameter("{CityNames}", "('New York','Charlotte')"); } else if (role.Name == "role_state_mgr") { user.AddParameter("{ShortNames}", "('NY','NC')"); } else if (role.Name == "role_country_mgr") { user.AddParameter("{CountryCodes}", "('IN','US')"); } if (role.Name == "role_guest_user") { user.AddParameter("{CityNames}", "('New York')"); } Console.Write("."); } } Console.WriteLine(); var rbacs = Rbac.GetRbacs(); if (rbacs != null) { WriteColor(ConsoleColor.Green, rbacs.Count + " rbac instance(s) created." + Environment.NewLine); } else { WriteErrorLine("rbac creation failed!"); } var vroles = Rbac.GetRoles(); if (vroles != null) { WriteColor(ConsoleColor.Green, vroles.Count + " role(s) created." + Environment.NewLine); } else { WriteErrorLine("role(s) creation failed!"); } var users = Rbac.GetUsers(); if (users != null) { WriteColor(ConsoleColor.Green, users.Count + " user(s) created." + Environment.NewLine); } else { WriteErrorLine("user(s) creation failed!"); } }