protected void btnCreateStore_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage(ConfigurationManager.ConnectionStrings["NetSqlAzManStorage"].ConnectionString); storage.OpenConnection(); try { storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); IAzManStore store = storage.CreateStore("Store Created Programmatically", "store description"); for (int i = 0; i < 10; i++) { IAzManApplication app = store.CreateApplication("App " + i.ToString(), "application description"); IAzManItem prevItem = null; for (int j = 0; j < 10; j++) { IAzManItem item = app.CreateItem("Item " + j.ToString(), "item description", ItemType.Operation); if (prevItem!=null) item.AddMember(prevItem); prevItem = item; } } storage.CommitTransaction(); } catch { storage.RollBackTransaction(); throw; } finally { storage.CloseConnection(); } }
private void btnStoreManipulate_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=EIDOS-NBAFR;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); IAzManStore store1 = storage.CreateStore("Store di prova 3", "descrizione"); IAzManStoreGroup storeGroup = store1.CreateStoreGroup(SqlAzManSID.NewSqlAzManSid(), "Store Group 2", "sg1 des", null, GroupType.Basic); storeGroup.CreateStoreGroupMember(SqlAzManSID.NewSqlAzManSid(), WhereDefined.LDAP, true); IAzManStoreGroupMember[] storeGroupMembers = storeGroup.GetStoreGroupMembers(); store1.CreateApplication("Application 3", "description of store 3"); IAzManApplication app = store1.GetApplication("Application 3"); IAzManApplicationGroup appGroup = app.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), "Application Group 3", "ag3 des", null, GroupType.Basic); appGroup.CreateApplicationGroupMember(SqlAzManSID.NewSqlAzManSid(), WhereDefined.LDAP, false); IAzManApplicationGroupMember[] appGroupMembers = appGroup.GetApplicationGroupMembers(); IAzManItem item1 = app.CreateItem("Responsabile UO", "descrizione", ItemType.Role); IAzManItem item11 = app.CreateItem("Modifica", "mod des", ItemType.Task); IAzManItem item111 = app.CreateItem("Salva", "salva descr", ItemType.Operation); item1.AddMember(item11); item11.AddMember(item111); IAzManAuthorization auth111 = item111.CreateAuthorization(this.currentOwnerSid, WhereDefined.LDAP, SqlAzManSID.NewSqlAzManSid(), WhereDefined.Store, AuthorizationType.AllowWithDelegation, DateTime.Now, null); IAzManAttribute<IAzManAuthorization> attr111 = auth111.CreateAttribute("UO", "SS20S"); storage.CommitTransaction(); }
/// <summary> /// Create a Full Storage through .NET code /// </summary> private void CreateFullStorage() { // USER MUST BE A MEMBER OF SQL DATABASE ROLE: NetSqlAzMan_Administrators //Sql Storage connection string string sqlConnectionString = "data source=(local);initial catalog=NetSqlAzManStorage;user id=netsqlazmanuser;password=password"; //Create an instance of SqlAzManStorage class IAzManStorage storage = new SqlAzManStorage(sqlConnectionString); //Open Storage Connection storage.OpenConnection(); //Begin a new Transaction storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); //Create a new Store IAzManStore newStore = storage.CreateStore("My Store", "Store description"); //Create a new Basic StoreGroup IAzManStoreGroup newStoreGroup = newStore.CreateStoreGroup(SqlAzManSID.NewSqlAzManSid(), "My Store Group", "Store Group Description", String.Empty, GroupType.Basic); //Retrieve current user SID IAzManSid mySid = new SqlAzManSID(((System.Threading.Thread.CurrentPrincipal.Identity as WindowsIdentity) ?? WindowsIdentity.GetCurrent()).User); //Add myself as sid of "My Store Group" IAzManStoreGroupMember storeGroupMember = newStoreGroup.CreateStoreGroupMember(mySid, WhereDefined.Local, true); //Create a new Application IAzManApplication newApp = newStore.CreateApplication("New Application", "Application description"); //Create a new Role IAzManItem newRole = newApp.CreateItem("New Role", "Role description", ItemType.Role); //Create a new Task IAzManItem newTask = newApp.CreateItem("New Task", "Task description", ItemType.Task); //Create a new Operation IAzManItem newOp = newApp.CreateItem("New Operation", "Operation description", ItemType.Operation); //Add "New Operation" as a sid of "New Task" newTask.AddMember(newOp); //Add "New Task" as a sid of "New Role" newRole.AddMember(newTask); //Create an authorization for myself on "New Role" IAzManAuthorization auth = newRole.CreateAuthorization(mySid, WhereDefined.Local, mySid, WhereDefined.Local, AuthorizationType.AllowWithDelegation, null, null); //Create a custom attribute IAzManAttribute<IAzManAuthorization> attr = auth.CreateAttribute("New Key", "New Value"); //Create an authorization for DB User "Andrea" on "New Role" IAzManAuthorization auth2 = newRole.CreateAuthorization(mySid, WhereDefined.Local, storage.GetDBUser("Andrea").CustomSid, WhereDefined.Local, AuthorizationType.AllowWithDelegation, null, null); //Commit transaction storage.CommitTransaction(); //Close connection storage.CloseConnection(); }
/// <summary> /// Handles the Click event of the btnCreateALotOfItems control. /// </summary> /// <param name="sender">The source of the event.</param> /// <param name="e">The <see cref="System.EventArgs"/> instance containing the event data.</param> private void btnCreateALotOfItems_Click(object sender, EventArgs e) { string cs = "data source=(local);initial catalog=NetSqlAzManStorage;Integrated Security=SSPI;"; IAzManStorage storage = new SqlAzManStorage(cs); storage.OpenConnection(); storage.BeginTransaction(); IAzManStore store = storage.CreateStore("Test2", String.Empty); IAzManApplication app = store.CreateApplication("Test", String.Empty); storage.ENS.AuthorizationCreated+= new AuthorizationCreatedDelegate(ens_AuthorizationCreated); //Create 1 MLN Items for (int r = 0; r < 100; r++) { IAzManItem role = app.CreateItem("Role " + r.ToString(), "", ItemType.Role); IAzManAuthorization auth = role.CreateAuthorization(new SqlAzManSID(WindowsIdentity.GetCurrent().User), WhereDefined.Local, new SqlAzManSID(WindowsIdentity.GetCurrent().User), WhereDefined.Local, AuthorizationType.Allow, null, null); Debug.WriteLine("Role "+ r.ToString()); auth.CreateAttribute("key", "value"); for (int t = 0; t < 100; t++) { IAzManItem task = app.CreateItem("Task " + t.ToString() + " of Role " + r.ToString(), "", ItemType.Task); role.AddMember(task); for (int o = 0; o < 100; o++) { IAzManItem op = app.CreateItem("Operation " + o.ToString() + " of Task " + t.ToString() + " of Role " + r.ToString() , "", ItemType.Operation); task.AddMember(op); } } } storage.CommitTransaction(); storage.CloseConnection(); }
private void CreaStrutturaSuNetSqlAzMan(string connectionString, int n) { this.Clessidra(true); this.StartTimer(); WindowsIdentity id = WindowsIdentity.GetCurrent(); IAzManStorage storage = new SqlAzManStorage(connectionString); storage.ENS.AuthorizationCreated += new NetSqlAzMan.ENS.AuthorizationCreatedDelegate(ENS_AuthorizationCreated); try { IAzManStore s = storage["Store Stress Test"]; if (s != null) s.Delete(); } catch { } storage.OpenConnection(); storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); IAzManStore store = storage.CreateStore("Store Stress Test", String.Empty); this.pb.Maximum = n - 1; for (int a = 0; a < n; a++) { IAzManApplication app = store.CreateApplication("Application" + a.ToString(), String.Empty); this.pb.Value = a; Application.DoEvents(); for (int i = 0; i < n; i++) { IAzManItem role = app.CreateItem("Role" + i.ToString(), String.Empty, ItemType.Role); IAzManItem task = app.CreateItem("Task" + i.ToString(), String.Empty, ItemType.Task); IAzManItem op = app.CreateItem("Operation" + i.ToString(), String.Empty, ItemType.Operation); role.AddMember(task); task.AddMember(op); role.CreateAuthorization(new SqlAzManSID(id.User), WhereDefined.LDAP, new SqlAzManSID(id.User), WhereDefined.LDAP, AuthorizationType.Allow, null, null); //add current Windows user //role.CreateAuthorization(new SqlAzManSID(id.User), WhereDefined.LDAP, new SqlAzManSID(storage.GetDBUser("Andrea").CustomSid.BinaryValue, true), WhereDefined.Database, AuthorizationType.Allow, null, null); //add Andrea DB User } } //storage.RollBackTransaction(); storage.CommitTransaction(); storage.CloseConnection(); this.StopTimer(this.txtNetSqlAzManElapsed); this.Clessidra(false); }