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();
     }
 }
Beispiel #2
0
        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();
        }
Beispiel #4
0
        /// <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();
        }
Beispiel #5
0
 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);
 }