/// <summary> /// Check Access from your Application [FOR Windows Users ONLY]. /// </summary> /// <param name="dbUserName">DB Username</param> private void CheckAccessPermissionsForDBUsers(string dbUserName) { // REMBER: // Modify dbo.GetDBUsers Table-Function to customize DB User list. // USER MUST BE A MEMBER OF SQL DATABASE ROLE: NetSqlAzMan_Readers //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); //Retrieve DB User identity from dbo.GetDBUsers Table-Function IAzManDBUser dbUser = storage.GetDBUser(dbUserName); AuthorizationType auth = storage.CheckAccess("My Store", "My Application", "My Operation", dbUser, DateTime.Now, true); switch (auth) { case AuthorizationType.AllowWithDelegation: //Yes, I can ... and I can delegate break; case AuthorizationType.Allow: //Yes, I can break; case AuthorizationType.Neutral: case AuthorizationType.Deny: //No, I cannot break; } }
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(); } }
protected void Button2_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=(local);Initial Catalog=NetSqlAzManStorage;user id=sa;password="******"Andrea"); UserPermissionCache cache = new UserPermissionCache(storage, "Store Stress Test", "Application0", andrea, true, true); Session["cache"] = cache; }
public void CreateItemsFromAFolder( string storageConnectionString, string storeName, string applicationName, string folderPath, string searchPattern, ItemType itemType) { using (IAzManStorage storage = new SqlAzManStorage(storageConnectionString)) { storage.OpenConnection(); storage.BeginTransaction(); try { IAzManApplication app = storage.GetStore(storeName).GetApplication(applicationName); DirectoryInfo di = new DirectoryInfo(folderPath); foreach (FileInfo fi in di.GetFiles(searchPattern)) { //Use some recursive function to get subfolder files app.CreateItem(fi.Name, String.Empty, itemType); } storage.CommitTransaction(); } catch { storage.RollBackTransaction(); } finally { storage.Dispose(); } } }
protected void Button1_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=(local);Initial Catalog=NetSqlAzManStorage;user id=sa;password="******"Store Stress Test", "Application0", "Role0", this.Request.LogonUserIdentity, DateTime.Now, false).ToString(); this.TextBox1.Text += storage.CheckAccess("Store Stress Test", "Application0", "Operation0", this.Request.LogonUserIdentity, DateTime.Now, false).ToString(); } //Application0.Security.CheckAccessHelper chk = new Application0.Security.CheckAccessHelper("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security=SSPI", this.Request.LogonUserIdentity); // this.TextBox1.Text = chk.CheckAccess(Application0.Security.CheckAccessHelper.Operation.Operation0).ToString(); }
public void AssociateRoles(string username) { string store = "CATS"; string application = "Early Warning"; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CatsContext"].ConnectionString; IAzManStorage AzManStore = new NetSqlAzMan.SqlAzManStorage(connectionString); NetSqlAzMan.Cache.StorageCache storage = new NetSqlAzMan.Cache.StorageCache(connectionString); storage.BuildStorageCache(store, application); //storage.GetAuthorizedItems() // NetSqlAzMan.Cache.AuthorizedItem[] items = storage.GetAuthorizedItems(store, application, AzManStore.GetDBUser(username).CustomSid.StringValue, DateTime.Now); //var users = new string[] {"Me"}; var roles = new string[] { "Create" }; AddUserToRoles("me", roles, store, application); }
/// <summary> /// Create an Authorization Delegate /// </summary> private void AddDBUserToRole(string dbUserName, string roleName) { //Sql Storage connection string string sqlConnectionString = "data source=(local);initial catalog=NetSqlAzManStorage;user id=sa;password=password"; //Create an instance of SqlAzManStorage class using (IAzManStorage storage = new SqlAzManStorage(sqlConnectionString)) { storage.OpenConnection(); IAzManStore mystore = storage.GetStore("My Store"); //or storage["My Store"] IAzManApplication myapp = mystore.GetApplication("My Application"); IAzManItem myRole = myapp.GetItem(roleName); //Retrieve DB user identity IAzManDBUser dbUser = storage.GetDBUser(dbUserName); //Add DB "My Db User" to "My Role" role. IAzManAuthorization auth = myRole.CreateAuthorization(new SqlAzManSID(WindowsIdentity.GetCurrent().User), WhereDefined.LDAP, dbUser.CustomSid, WhereDefined.Database, AuthorizationType.Allow, null, null); //Optional: add authorization attribute //auth.CreateAttribute("attribute key", "attribute value"); storage.CloseConnection(); storage.Dispose(); } }
/// <summary> /// Check Access from your Application [FOR Windows Users ONLY]. /// </summary> /// <param name="userIdentity">Windows User Identity.</param> private void CheckAccessPermissionsForWindowsUsers(WindowsIdentity userIdentity, bool useCache) { // USER MUST BE A MEMBER OF SQL DATABASE ROLE: NetSqlAzMan_Readers //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); //To Pass current user identity: //WindowsIdentity.GetCurrent() -> for Windows Applications //this.Request.LogonUserIdentity -> for ASP.NET Applications List<KeyValuePair<string, string>> attributes; AuthorizationType auth; if (useCache) { //Build the cache Only one time per session/application/user NetSqlAzMan.Cache.UserPermissionCache cache = new NetSqlAzMan.Cache.UserPermissionCache(storage, "My Store", "My Application", userIdentity, true, true); //Then Check Access auth = cache.CheckAccess("My Operation", DateTime.Now,out attributes); } else { auth = storage.CheckAccess("My Store", "My Application", "My Operation", userIdentity, DateTime.Now, true, out attributes); } switch (auth) { case AuthorizationType.AllowWithDelegation: //Yes, I can ... and I can delegate break; case AuthorizationType.Allow: //Yes, I can break; case AuthorizationType.Neutral: case AuthorizationType.Deny: //No, I cannot break; } //Do something with attributes found }
protected void Page_Load(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage(ConfigurationManager.ConnectionStrings["NetSqlAzManStorage"].ConnectionString); this.application = storage[ConfigurationManager.AppSettings["StoreName"]][ConfigurationManager.AppSettings["ApplicationName"]]; //Get user Identity this.identity = this.Request.LogonUserIdentity; this.lblIAM.Text = this.identity.Name; //Print DateTime this.lblDateTime.Text = DateTime.Now.ToString(); //Check Access on Items this.application.Store.Storage.OpenConnection(); this.btnBudgetCheck.Enabled = this.checkAccessHelper("Controllo del Budget"); this.btnCustomerRelationshipManagement.Enabled = this.checkAccessHelper("Relazioni con i Clienti"); this.btnConstraintCheck.Enabled = this.checkAccessHelper("Controllo dei Vincoli"); this.btnTimesheetCheck.Enabled = this.checkAccessHelper("Approvazione del TimeSheet"); this.btnTimesheetCompile.Enabled = this.checkAccessHelper("Compilazione del Timesheet"); this.btnDevelopment.Enabled = this.checkAccessHelper("Sviluppo"); //Can delegate ? NTAccount delegatedNTAccount = new NTAccount("ProductManager1"); SecurityIdentifier delegatedSid = (SecurityIdentifier)delegatedNTAccount.Translate(typeof(SecurityIdentifier)); bool canDelegate = this.checkAccessForDelegationHelper("Controllo del Budget"); bool alreadyDelegate = this.application["Controllo del Budget"].GetAuthorizations(new SqlAzManSID(this.identity.User), new SqlAzManSID(delegatedSid)).Length > 0; this.btnDelegateForBudgetCheck.Enabled = canDelegate && !alreadyDelegate; this.btnUndelegate.Enabled = canDelegate && alreadyDelegate; //Attributes IAzManAuthorization[] auths = this.application["Controllo del Budget"].GetAuthorizationsOfMember(new SqlAzManSID(this.identity.User)); string toolTip = String.Empty; foreach (IAzManAuthorization auth in auths) { IAzManAttribute<IAzManAuthorization>[] attribs = auth.GetAttributes(); foreach (IAzManAttribute<IAzManAuthorization> attrib in attribs) { toolTip += String.Format("{0} - {1}\r\n", attrib.Key, attrib.Value); } } this.btnBudgetCheck.ToolTip = toolTip; this.application.Store.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(); }
private void btnItemManipulate_Click(object sender, EventArgs e) { try { IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage.GetStore("Store Stress Test"); //IAzManStoreGroup storage = store.GetStoreGroup("Store Group 1"); IAzManItem item = store.GetApplication("Application0").GetItem("Operation0"); string bizRule = @"using System; using System.Security.Principal; using System.IO; using System.Data; using System.Collections; using System.Collections.Specialized; using System.Collections.Generic; using System.Text; using NetSqlAzMan; using NetSqlAzMan.Interfaces; namespace Prova.BizRules { public sealed class BizRule : IAzManBizRule { public BizRule() { } public bool Execute(Hashtable contextParameters, IAzManSid identity, IAzManItem ownerItem, ref AuthorizationType authorizationType) { //my comments //Assign authorizationType to some AuthorizationType value to force CheckAccess result for this item. return true; } } } "; //@"Imports System //Imports System.Security.Principal //Imports System.IO //Imports System.Data //Imports System.Data.SqlClient //Imports System.Collections //Imports System.Collections.Specialized //Imports System.Collections.Generic //Imports System.Text //Imports NetSqlAzMan //Imports NetSqlAzMan.Interfaces // //Namespace MyApplication.BizRules // Public NotInheritable Class BizRule : Implements IAzManBizRule // Public Sub New() // End Sub // // Public Overloads Function Execute(ByVal contextParameters As Hashtable, ByVal identity As WindowsIdentity, ByVal ownerItem As IAzManItem) As Boolean _ // Implements IAzManBizRule.Execute // Return True // End Function // End Class //End Namespace // //"; item.ReloadBizRule(bizRule, NetSqlAzMan.BizRuleSourceLanguage.CSharp); Assembly ass = item.LoadBizRuleAssembly(); //AuthorizationType authorizationType = storage.CheckAccess(System.Security.Principal.WindowsIdentity.GetCurrent(), DateTime.Now); //MessageBox.Show(authorizationType.ToString()); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
private void btnStorageCacheAuthorizedItems_Click(object sender, EventArgs e) { string cs = "data source=.;Initial Catalog=NetSqlAzManStorage;user id=testuser;password=;"; var ctx = new[] { new KeyValuePair<string, object>("Value1", "111"), new KeyValuePair<string, object>("Value2", "222") }; IAzManStorage storage = new SqlAzManStorage(cs); IAzManApplication app = storage["Eidos"]["DB Persone"]; var res = app.GetItem("Gestore"); MessageBox.Show(res.Members.Count.ToString()); //string ssid = WindowsIdentity.GetCurrent().GetUserBinarySSid(); //string[] gsid = WindowsIdentity.GetCurrent().GetGroupsBinarySSid(); //DateTime t1, t2; //StorageCache sc = new StorageCache(cs); //sc.BuildStorageCache("Eidos"); //t1 = DateTime.Now; //for (int i = 0; i < 1000; i++) //{ // AuthorizedItem[] result = sc.GetAuthorizedItems("Eidos", "DB Persone", ssid, gsid, DateTime.Now, ctx); //} //t2 = DateTime.Now; //double ms = t2.Subtract(t1).TotalMilliseconds; //MessageBox.Show(String.Format("Done in {0} ms", ms)); }
protected void lnkReload_Click(object sender, EventArgs e) { Session["storage"] = new SqlAzManStorage(((IAzManStorage)this.Session["storage"]).ConnectionString); Response.Redirect("WebConsole.aspx"); }
private void btnIHV_Click(object sender, EventArgs e) { //IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); //IAzManStore store = storage.GetStore("Store Stress Test"); //NetSqlAzMan.SnapIn.Printing.ptItemAuthorizations doc = new NetSqlAzMan.SnapIn.Printing.ptItemAuthorizations(); //doc.Applications = new IAzManApplication[] { // store.GetApplication("Application0") // //,store.GetApplication("Application1"), // //store.GetApplication("Application2"), // //store.GetApplication("Application3"), // //store.GetApplication("Application4") //}; //frmPrint frm = new frmPrint(); //frm.Document = doc; //frm.ShowDialog(this); IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage.GetStore("Eidos"); NetSqlAzMan.SnapIn.Printing.ptEffectivePermissions doc = new NetSqlAzMan.SnapIn.Printing.ptEffectivePermissions(); doc.Applications = new IAzManApplication[] { store.GetApplication("DB Persone") //,store.GetApplication("Application1"), //store.GetApplication("Application2"), //store.GetApplication("Application3"), //store.GetApplication("Application4") }; frmPrint frm = new frmPrint(); frm.Document = doc; frm.ShowDialog(this); }
private void button1_Click_2(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage.GetStore("Store Stress Test"); foreach (KeyValuePair<string, bool> kvp in store.GetManagers()) { MessageBox.Show(String.Format("Manager: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } foreach (KeyValuePair<string, bool> kvp in store.GetUsers()) { MessageBox.Show(String.Format("User: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } foreach (KeyValuePair<string, bool> kvp in store.GetReaders()) { MessageBox.Show(String.Format("Reader: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } IAzManApplication app = store["Application1"]; foreach (KeyValuePair<string, bool> kvp in app.GetManagers()) { MessageBox.Show(String.Format("Manager: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } foreach (KeyValuePair<string, bool> kvp in app.GetUsers()) { MessageBox.Show(String.Format("User: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } foreach (KeyValuePair<string, bool> kvp in app.GetReaders()) { MessageBox.Show(String.Format("Reader: {0} IsSqlRole: {1}", kvp.Key, kvp.Value)); } }
protected void btnDeleteStore_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage(ConfigurationManager.ConnectionStrings["NetSqlAzManStorage"].ConnectionString); storage["Store Created Programmatically"].Delete(); }
private void btnCreateItemsFromAFolder_Click(object sender, EventArgs e) { using (IAzManStorage storage = new SqlAzManStorage("Data Source=(local);Initial Catalog=NetSqlAzManStorage;Integrated Security=SSPI;")) { storage.OpenConnection(); storage.BeginTransaction(); var a = storage["Eidos"]["DB Persone"]["Gestore"].GetMembers(); storage.Dispose(); } this.CreateItemsFromAFolder( "Data Source=(local);Initial Catalog=NetSqlAzManStorage;Integrated Security=SSPI;", "My Store", "My Application", @"D:\Documenti\EIDOS\ICP\EIDOS.ApplicazioniAziendali\EIDOS.ApplicazioniAziendali.DBPersone.Web", "*.aspx", ItemType.Task); }
private void btnDBGetUsers_Click(object sender, EventArgs e) { this.textBox1.Text = String.Empty; IAzManStorage storage = new SqlAzManStorage("data source=EIDOS-NBAFR;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage["My Store"]; IAzManDBUser dbu = store.GetDBUser(store.GetStoreGroup("sg1").SID); //IAzManDBUser[] dbUsers = store. app.GetDBUsers(); //foreach (IAzManDBUser dbU in dbUsers) //{ // this.textBox1.Text += String.Format("Sid: {0} - Name: {1}\r\n", dbU.CustomSid.StringValue, dbU.UserName); //} ////MessageBox.Show(app.GetDBUser("andrea").CustomSid.StringValue); //WindowsIdentity win = WindowsIdentity.GetCurrent(); ////app.GetItem("ResponsabileUO").CreateAuthorization(new SqlAzManSID(win.User), WhereDefined.LDAP, app.GetDBUser("a.ferendeles").CustomSid, WhereDefined.Database, AuthorizationType.AllowWithDelegation, null, null); ////AuthorizationType auth = storage.CheckAccess("NetSqlAzManStore", "ApplicazioneSia", "Delega", storage.GetDBUser("a.ferendeles"), DateTime.Now, true); ////MessageBox.Show(auth.ToString()); }
/// <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(); }
public List<Application> GetUserPermissions(string UserName) { var apps = new List<Application>(); //try //{ const string store = "CATS"; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CatsContext"].ConnectionString; IAzManStorage storage = new SqlAzManStorage(connectionString); IAzManStore mystore = storage.GetStore(store); //or storage["My Store"] // IAzManApplication myapp = mystore.GetApplication(application); List<IAzManApplication> Applications = mystore.GetApplications().ToList(); //_provider.Initialize("AuthorizationRoleProvider", ConfigureAuthorizationRoleProvider("CATS","Early warning")); //Dictionary<string, IAzManApplication> Applications = _provider.GetStorage().Stores["CATS"].Applications; foreach (var app in Applications) { apps.Add(new Application() { ApplicationName = app.Name, Roles = GetUserPermissions(UserName, "CATS", app.Name) }); } return apps; //} //catch(Exception ex) //{ // var s = ex.Message; // return apps; //} }
private void btnCheckStoreAccess_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); foreach (IAzManStore store in storage.GetStores()) { //MessageBox.Show(String.Format("Store: {0} - Access: {1}", store.Name, store.CheckStoreAccess(WindowsIdentity.GetCurrent(), DateTime.Now))); store.CheckStoreAccess(WindowsIdentity.GetCurrent(), DateTime.Now); foreach (IAzManApplication application in store.GetApplications()) { //MessageBox.Show(String.Format("Application: {0} - Access: {1}", application.Name, application.CheckApplicationAccess(WindowsIdentity.GetCurrent(), DateTime.Now))); application.CheckApplicationAccess(WindowsIdentity.GetCurrent(), DateTime.Now); } } }
private void btnCheckAccessTest_Click(object sender, EventArgs e) { //IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); //List<KeyValuePair<string, string>> attributes; //var auth = storage.CheckAccess("AET Authorization Store", "Trading Hub", "Create Deal", WindowsIdentity.GetCurrent(), DateTime.Now, false, out attributes); //return; frmCheckAccessTest frm = new frmCheckAccessTest(); IAzManStorage storage = new SqlAzManStorage("data source=(local);Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); //IAzManStore store = storage.GetStore("Sistel-1Sez"); //frm.application = store.GetApplication("Perseo.Net"); IAzManStore store = storage.GetStore("Eidos"); frm.application = store.GetApplication("DB persone"); frm.ShowDialog(); }
private void btnACL_Click(object sender, EventArgs e) { try { //string[] users = DirectoryServicesUtils.GetAllDomainUsers(); //IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); //IAzManDBUser dbUser1 = storage.GetDBUser(new SqlAzManSID(this.GetBytesFromInt32(1), true)); //IAzManDBUser dbUser2 = storage.GetDBUser(new SqlAzManSID(this.GetBytesFromInt32(2), true)); //AuthorizationType auth1 = storage.CheckAccess("Eidos", "DB Persone", "Accesso", dbUser1, DateTime.Now, false); //AuthorizationType auth2 = storage.CheckAccess("Eidos", "DB Persone", "Accesso", dbUser1, DateTime.Now, false); //string cs = "data source=(local);Initial Catalog=NetSqlAzManStorage;Integrated Security=SSPI"; string cs = "data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security=SSPI"; var ctx = new[] { new KeyValuePair<string, object>("Value1", "111"), new KeyValuePair<string, object>("Value2", "222") }; IAzManStorage storage = new SqlAzManStorage(cs); //DateTime dt = new DateTime(2009, 05, 01); //AuthorizationType authz = storage.CheckAccess("Eidos", "DB Persone", "Super utente senza dati retributivi", WindowsIdentity.GetCurrent(), dt, false); //authz = upcTest.CheckAccess("Super utente senza dati retributivi", dt); //MessageBox.Show(authz.ToString()); DateTime t1, t2; ////return; t1 = DateTime.Now; StorageCache sc = new StorageCache(cs); sc.BuildStorageCache(); //t2 = DateTime.Now; ////MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //t1 = DateTime.Now; //UserPermissionCache uupc = new UserPermissionCache(storage, "Eidos", "DB Persone", WindowsIdentity.GetCurrent(), true, true); t2 = DateTime.Now; //MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //return; //t1 = DateTime.Now; //UserPermissionCache upcTest = new UserPermissionCache(storage, "Eidos", "DB Persone", WindowsIdentity.GetCurrent(), true, true, ctx); //t2 = DateTime.Now; //MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //t1 = DateTime.Now; //for (int i = 0; i < 1000; i++) //{ // upcTest.CheckAccess("Accesso", DateTime.Now); //} //t2 = DateTime.Now; //MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); string ssid = WindowsIdentity.GetCurrent().GetUserBinarySSid(); string[] gsid = WindowsIdentity.GetCurrent().GetGroupsBinarySSid(); //t1 = DateTime.Now; //for (int i = 0; i < 1000; i++) //{ // sc.CheckAccess("Eidos", "DB Persone", "Gestore", ssid, gsid, DateTime.Now, false); //} //t2 = DateTime.Now; //MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //sr.CacheServiceClient csc = new NetSqlAzMan_WinTest.sr.CacheServiceClient(); //csc.Open(); //t1 = DateTime.Now; ////for (int i = 0; i < 1000; i++) ////{ ////var aauu = csc.CheckAccessForWindowsUsersWithoutAttributesRetrieve("ZZEntDataSvcs", "CommissionFeeTax", "Editor", ssid, gsid, DateTime.Now, false, null); //var aauu = sc.CheckAccess("Eidos", "DB Persone", "Accesso", ssid, gsid, DateTime.Now, false, null); // //csc.GetAuthorizedItemsForWindowsUsers("Eidos", "DB Persone", ssid, gsid, DateTime.Now, null); ////} //t2 = DateTime.Now; ////MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //csc.Close(); //t1 = DateTime.Now; //for (int i = 0; i < 1000; i++) //{ // storage.CheckAccess("Eidos", "DB Persone", "Gestore", WindowsIdentity.GetCurrent(), DateTime.Now, false); //} //t2 = DateTime.Now; //MessageBox.Show((t2 - t1).TotalMilliseconds.ToString()); //return; //DateTime dt = DateTime.Now; //foreach (string user in users) //{ // WindowsIdentity win = new WindowsIdentity(user); // sc.CheckAccess("Eidos", "DB Persone", "Gestore", win.GetUserBinarySSid(), win.GetGroupsBinarySSid(), DateTime.Now, false); //} //TimeSpan ts = DateTime.Now.Subtract(dt); //var seconds = ts.TotalSeconds; // //upcTest.CheckAccess("Accesso", DateTime.Now); List<KeyValuePair<string, string>> attributes1; List<KeyValuePair<string, string>> attributes2; List<KeyValuePair<string, string>> attributes3; //int h; foreach (var store in storage.Stores) { foreach (var application in store.Value.Applications) { UserPermissionCache upc = new UserPermissionCache(storage, store.Value.Name, application.Value.Name, WindowsIdentity.GetCurrent(), true, true, ctx); foreach (var item in application.Value.Items) { this.textBox1.Text += String.Format("Store: {0}\tApplication: {1}\tItem: {2}\r\n", store.Key, application.Key, item.Key); AuthorizationType auth1 = sc.CheckAccess(store.Value.Name, application.Value.Name, item.Value.Name, WindowsIdentity.GetCurrent().GetUserBinarySSid(), WindowsIdentity.GetCurrent().GetGroupsBinarySSid(), DateTime.Now, false, out attributes1, ctx); AuthorizationType auth2 = storage.CheckAccess(store.Value.Name, application.Value.Name, item.Value.Name, WindowsIdentity.GetCurrent(), DateTime.Now, false, out attributes2, ctx); AuthorizationType auth3 = upc.CheckAccess(item.Value.Name, DateTime.Now, out attributes3); //if (item.Key == "Method1") // h = 9; this.detectedDifferences(auth1, attributes1, auth2, attributes2); this.detectedDifferences(auth2, attributes2, auth3, attributes3); this.detectedDifferences(auth1, attributes1, auth3, attributes3); } } } MessageBox.Show("Done"); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public List<Role> GetUserPermissions(string userName, string store, string application) { //throw new NotImplementedException(); //string userSid = userId.ToString("X"); //string zeroes = string.Empty; //for (int start = 0; start < 8 - userSid.Length; start++) // zeroes += "0"; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CatsContext"].ConnectionString; IAzManStorage AzManStore = new SqlAzManStorage(connectionString); StorageCache storage = new StorageCache(connectionString); //storage.BuildStorageCache(store, application); //new AuthorizedItem(){} //AuthorizedItem[] items = storage.GetAuthorizedItems(store, application, AzManStore.GetDBUser(userName).CustomSid.StringValue, DateTime.Now); //AuthorizedItem[] items = storage.GetAuthorizedItems("CATS", application, AzManStore.GetDBUser(userName).CustomSid.StringValue, DateTime.Now, null); var allItems = storage.Storage.GetStore(store).GetApplication(application).Items; ////var d = CheckAccess(AzManStore.GetDBUser(userName), application, "EW Coordinator", AzManStore); var roleItems = ( from t in allItems where t.Value.ItemType == ItemType.Role select t ); var roles = new List<Role>(); foreach (var item in roleItems) { var r = new Role(); r.RoleName = item.Value.Name; r.IsChecked = CheckAccess(AzManStore.GetDBUser(userName), application, item.Value.Name, AzManStore); roles.Add(r); } //AuthorizedItem[] items = storage.GetAuthorizedItems(); //var f =(from t in items where t.Authorization == AuthorizationType.Allow && t.Type == ItemType.Role select new Role { RoleName = t.Name }).ToList(); return roles; }
private void btnEventHandling_Click(object sender, EventArgs e) { //SqlAzManENS.ApplicationUpdated += new ApplicationUpdatedDelegate(SqlAzManENS_ApplicationUpdated); IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage.GetStore("Store Stress Test"); IAzManApplication application = store.GetApplication("Application0"); application.ApplicationUpdated += new NetSqlAzMan.ENS.ApplicationUpdatedDelegate(application_Updated); application.Update("New Description"); MessageBox.Show("Descrizione dell'Applicazione modificata !"); }
private void btnTestImport_Click(object sender, EventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.DefaultExt = "xml"; openFileDialog.FileName = "NetSqlAzMan.xml"; openFileDialog.Filter = "Xml files|*.xml|All files|*.*"; openFileDialog.SupportMultiDottedExtensions = true; openFileDialog.Title = "Import from ..."; DialogResult dr = openFileDialog.ShowDialog(this); if (dr == DialogResult.OK) { frmImportOptions frm = new frmImportOptions(); IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManStore store = storage.GetStore("Eidos"); frm.importIntoObject = store; frm.fileName = openFileDialog.FileName; frm.ShowDialog(); } }
private void btnExport_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=.;Initial Catalog=NetSqlAzManStorage;user id=sa;password="******"Eidos").GetApplication("Feedback"); frmExportOptions frm = new frmExportOptions(); frmExport frmwait = new frmExport(); frmwait.ShowDialog(null, "c:\\netsqlazman.xml", new IAzManExport[] { app }, true, false, true, app.Store.Storage); }
private void btnGenerateCheckAccessHelper_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage("data source=EIDOS-NBAFR;Initial Catalog=NetSqlAzManStorage;Integrated Security = SSPI;"); IAzManApplication application = storage["Eidos"]["DB Persone"]; CodeCompileUnit ccu = NetSqlAzMan.CodeDom.CodeDomGenerator.GenerateItemConstants("MyApplication.NetSqlHelper", true, true, application, NetSqlAzMan.CodeDom.Language.CSharp); string code = NetSqlAzMan.CodeDom.CodeDomGenerator.GenerateSourceCode(ccu, NetSqlAzMan.CodeDom.Language.CSharp); this.textBox1.Text = code; }
protected void btnPickUpItemsCount_Click(object sender, EventArgs e) { IAzManStorage storage = new SqlAzManStorage(ConfigurationManager.ConnectionStrings["NetSqlAzManStorage"].ConnectionString); this.txtItemsCount.Text = storage["Store Created Programmatically"]["App 1"].GetItems().Length.ToString(); }
public bool AddRole(string user, string application, string role) { const string store = "CATS"; string connectionString = System.Configuration.ConfigurationManager.ConnectionStrings["CatsContext"].ConnectionString; IAzManStorage storage = new SqlAzManStorage(connectionString); IAzManStore mystore = storage.GetStore(store); //or storage["My Store"] IAzManApplication myapp = mystore.GetApplication(application); //mystore.GetApplications(); IAzManItem azManRole = myapp.GetItem(role); IAzManAuthorization dele = azManRole.CreateAuthorization( mystore.GetDBUser("Admin").CustomSid, WhereDefined.Database, mystore.GetDBUser(user).CustomSid, WhereDefined.Database, AuthorizationType.AllowWithDelegation, null, null ); //IAzManAuthorization del = azManRole.CreateDelegateAuthorization(mystore.GetDBUser("Admin"),mystore.GetDBUser(user).CustomSid,RestrictedAuthorizationType.Allow, null,null); return true; }