private void SaveRecord() { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); switch (_Mode) { case Mode.Create: _Application = _Store.CreateApplication(txtName.Text.Trim(), txtDescription.Text); break; case Mode.Update: _Application.Rename(this.txtName.Text.Trim()); _Application.Update(this.txtDescription.Text.Trim()); _Storage.CommitTransaction(); break; } _Storage.CommitTransaction(); } catch (Exception ex) { _Storage.RollBackTransaction(); throw ex; } }
private void Common_DeleteRecord(ListView listview, bool isMember = true) { if (listview.SelectedItem != null) { var item = listview.SelectedItem; try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); var sid = item.SubItems[2].Text; var mbr = isMember ? _Members.Where(x => x.SID.ToString() == sid).FirstOrDefault() : _NonMembers.Where(x => x.SID.ToString() == sid).FirstOrDefault(); if (mbr != null) { _StoreGroup.GetStoreGroupMember(mbr.SID).Delete(); } _Storage.CommitTransaction(); } catch (Exception ex) { _Storage.RollBackTransaction(); throw (ex); } } }
private void SaveRecord() { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); foreach (ListViewItem item in lvwStoreGroups.Items) { #region update checked items only, not selected if (item.Checked) { _SelectedItems.Add(item); #region 立即 save IAzManStoreGroup sg = _Store.GetStoreGroup(item.SubItems[0].Text); _StoreGroup.CreateStoreGroupMember(sg.SID, WhereDefined.Store, _IsMember); #endregion } #endregion } _Storage.CommitTransaction(); } catch (Exception ex) { _Storage.RollBackTransaction(); throw (ex); } }
private void SaveRecord() { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); foreach (ListViewItem item in lvwStoreGroups.Items) { #region update checked items only, not selected if (item.Checked) { _SelectedItems.Add(item); #region 立即 save IAzManStoreGroup storeGroup = _Store.GetStoreGroup(item.SubItems[0].Text); IAzManAuthorization auth = _AuthItem.CreateAuthorization( new SqlAzManSID(storeGroup.SID.ToString(), this._CurrentOwnerSidWhereDefined == WhereDefined.Store), this._CurrentOwnerSidWhereDefined, new SqlAzManSID(storeGroup.SID.ToString(), true), WhereDefined.Store, AuthorizationType.Neutral, null, null); #endregion } #endregion } _Storage.CommitTransaction(); }
public DialogResult ShowDialog(IWin32Window owner, string fileName, object importIntoObject, bool chkUsersAndGroups, bool chkDBUsers, bool chkAuthorizations, SqlAzManMergeOptions mergeOptions) { this.DialogResult = DialogResult.None; this.TopMost = true; this.Show(owner); /*Application.DoEvents();*/ XmlDocument doc = new XmlDocument(); doc.Load(fileName); XmlNode xmlStartNode; if (this.checkScopeNodePosition(doc, ref importIntoObject, out xmlStartNode)) { IAzManStorage storage = this.getStorageReference(importIntoObject); try { storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); ((IAzManImport)importIntoObject).ImportChildren(xmlStartNode, chkUsersAndGroups, chkDBUsers, chkAuthorizations, mergeOptions); storage.CommitTransaction(); this.Hide(); return(this.DialogResult = DialogResult.OK); } catch { storage.RollBackTransaction(); this.DialogResult = DialogResult.Cancel; this.Hide(); throw; } } else { return(this.DialogResult = DialogResult.Cancel); } }
private void SaveRecord() { var key = txtKey.Text.Trim(); var value = txtValue.Text.Trim(); if (key != String.Empty && value != String.Empty) { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); switch (_Mode) { case Mode.Create: _AzManItem.CreateAttribute(key, value); break; case Mode.Delete: break; case Mode.Update: _AzManItem.GetAttribute(key).Update(key, value); break; } _Storage.CommitTransaction(); _Dirty = true; } }
private void SaveRecord() { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); foreach (ListViewItem item in lvwStoreGroups.Items) { #region update checked items only, not selected if (item.Checked) { _SelectedItems.Add(item); if (_ApplicationGroup != null) { #region 立即 save IAzManDBUser dbUser = _Storage.GetDBUser(item.SubItems[0].Text); _ApplicationGroup.CreateApplicationGroupMember(dbUser.CustomSid, WhereDefined.Database, _IsMember); #endregion } } #endregion } _Storage.CommitTransaction(); } catch (Exception ex) { _Storage.RollBackTransaction(); throw (ex); } }
private void SaveRecord() { var keypair = (KeyValuePair <int, String>)cboAuthType.SelectedItem; var authType = (AuthorizationType)Enum.Parse(typeof(AuthorizationType), keypair.Value); DateTime?validFrom = null; if (datValidFrom.Checked) { validFrom = datValidFrom.Value; } DateTime?validTo = null; if (datValidFrom.Checked) { validTo = datValidTo.Value; } _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); var item = _AuthItem.GetAuthorization(_AuthorizationID); item.Update(item.Owner, item.SID, item.SidWhereDefined, authType, validFrom, validTo ); _Storage.CommitTransaction(); _Dirty = true; }
private void SaveRecord() { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); foreach (ListViewItem item in lvwItemList.Items) { #region update checked items only, not selected if (item.Checked) { _SelectedItems.Add(item); #region 立即 save try { IAzManItem member = _Application.GetItem(item.SubItems[0].Text); _AuthItem.AddMember(member); } catch (Exception ex) { //throw (ex); MessageBox.Show(ex.Message, "Error Found", MessageBoxButtons.OK, MessageBoxIcon.Error, new EventHandler(ErrorPrompt)); //MessageBox.Show(ex.Message, "Error Found"); } #endregion } #endregion } _Storage.CommitTransaction(); MessageBox.Show("Error Found"); }
private void Common_DeleteRecord(ListView listview) { if (listview.SelectedItem != null) { var item = listview.SelectedItem; try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); IAzManItem member = _Application.GetItem(item.SubItems[0].Text); _Task.RemoveMember(member); _Storage.CommitTransaction(); } catch { } } }
private void SaveRecord() { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); _Application.CreateItem(txtName.Text.Trim(), txtDescription.Text, ItemType.Operation); _Storage.CommitTransaction(); _IsDirty = true; } catch (Exception ex) { _Storage.RollBackTransaction(); throw ex; } }
private void SaveRecord() { switch (_Mode) { case Mode.Create: //_Application = _Store.CreateApplication(txtName.Text.Trim(), txtDescription.Text); break; case Mode.Update: _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); //_Application.Rename(this.txtName.Text.Trim()); //_Application.Update(this.txtDescription.Text.Trim()); _Storage.CommitTransaction(); break; } }
private void SaveRecord() { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); foreach (ListViewItem item in lvwStoreGroups.Items) { #region update checked items only, not selected if (item.Checked) { _SelectedItems.Add(item); #region 立即 save IAzManApplicationGroup ag = _Application.GetApplicationGroup(item.SubItems[0].Text); _ApplicationGroup.CreateApplicationGroupMember(ag.SID, WhereDefined.Application, _IsMember); #endregion } #endregion } _Storage.CommitTransaction(); }
private void DeleteRecord() { if (listView.SelectedItem != null) { try { var item = listView.SelectedItem; _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); var sg = _Storage[_Store.Name].GetStoreGroup(item.Text.Trim()); sg.Delete(); _Storage.CommitTransaction(); listView_Load(); } catch { } } }
private void SaveRecord() { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); IAzManStoreGroup storeGroup = _Store.CreateStoreGroup( SqlAzManSID.NewSqlAzManSid(), txtName.Text.Trim(), txtDescription.Text.Trim(), String.Empty, (radBasic.Checked ? GroupType.Basic : GroupType.LDapQuery)); _Storage.CommitTransaction(); _IsDirty = true; } catch (Exception ex) { _Storage.RollBackTransaction(); throw ex; } }
public void doImport(object importIntoObject, bool chkUsersAndGroups, bool chkDBUsers, bool chkAuthorizations, SqlAzManMergeOptions mergeOptions) { XmlDocument doc = new XmlDocument(); doc.Load(_UploadedFiles[0]); XmlNode xmlStartNode; if (this.checkScopeNodePosition(doc, ref importIntoObject, out xmlStartNode)) { try { _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); ((IAzManImport)importIntoObject).ImportChildren( xmlStartNode, chkUsersAndGroups, chkDBUsers, chkAuthorizations, mergeOptions); _Storage.CommitTransaction(); } catch { _Storage.RollBackTransaction(); throw; } } }
private void ImportFromAzMan(string azManStorePath, string netSqlAzManStoreName) { Microsoft.Interop.Security.AzRoles.AzAuthorizationStore azstore = null; string tempFileName = Path.Combine(Environment.GetEnvironmentVariable("temp", EnvironmentVariableTarget.Machine), String.Format("AzMan{0}.xml", Guid.NewGuid())); try { this.storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); string storeDescription = String.Format("Store imported from AzMan Store:" + " ({0}) - {1}", azManStorePath, DateTime.Now.ToString()); IAzManStore store = this.storage.CreateStore(netSqlAzManStoreName, storeDescription); azstore = new AzAuthorizationStoreClass(); if (this.rbtStoreFile.Checked) { this.FileUpload1.SaveAs(tempFileName); azManStorePath = String.Format("msxml://{0}", tempFileName); } azstore.Initialize(2, azManStorePath, null); #region Store Groups //Store Groups foreach (IAzApplicationGroup azStoreGroup in azstore.ApplicationGroups) { //Store Groups Definition if (azStoreGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_BASIC) { //Basic store.CreateStoreGroup(SqlAzManSID.NewSqlAzManSid(), azStoreGroup.Name, azStoreGroup.Description, String.Empty, GroupType.Basic); } else if (azStoreGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_LDAP_QUERY) { //LDap store.CreateStoreGroup(SqlAzManSID.NewSqlAzManSid(), azStoreGroup.Name, azStoreGroup.Description, azStoreGroup.LdapQuery, GroupType.LDapQuery); } } //Store Groups Members foreach (IAzApplicationGroup azStoreGroup in azstore.ApplicationGroups) { if (azStoreGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_BASIC) { //Basic IAzManStoreGroup storeGroup = store.GetStoreGroup(azStoreGroup.Name); //Store Group Members - Members Store Group object[] azStoreGroupMembers = azStoreGroup.AppMembers as object[]; if (azStoreGroupMembers != null) { foreach (string azStoreGroupMember in azStoreGroupMembers) { IAzManStoreGroup member = store.GetStoreGroup(azStoreGroupMember); storeGroup.CreateStoreGroupMember(member.SID, WhereDefined.Store, true); } } //Store Group Non-Members - Non-Members Store Group object[] azStoreGroupNonMembers = azStoreGroup.AppNonMembers as object[]; if (azStoreGroupNonMembers != null) { foreach (string azStoreGroupNonMember in azStoreGroupNonMembers) { IAzManStoreGroup nonMember = store.GetStoreGroup(azStoreGroupNonMember); storeGroup.CreateStoreGroupMember(nonMember.SID, WhereDefined.Store, false); } } //Store Group Members - Windows NT Account object[] azStoreGroupWindowsMembers = azStoreGroup.Members as object[]; if (azStoreGroupWindowsMembers != null) { foreach (string azStoreWindowsMember in azStoreGroupWindowsMembers) { IAzManSid sid = new SqlAzManSID(azStoreWindowsMember); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); storeGroup.CreateStoreGroupMember(sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, true); } } //Store Group NonMembers - Windows NT Account object[] azStoreGroupWindowsNonMembers = azStoreGroup.NonMembers as object[]; if (azStoreGroupWindowsNonMembers != null) { foreach (string azStoreWindowsNonMember in azStoreGroupWindowsNonMembers) { IAzManSid sid = new SqlAzManSID(azStoreWindowsNonMember); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); storeGroup.CreateStoreGroupMember(sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, false); } } } } #endregion Store Groups #region Applications //Applications foreach (IAzApplication azApplication in azstore.Applications) { IAzManApplication application = store.CreateApplication(azApplication.Name, azApplication.Description); #region Application Groups //Store Groups foreach (IAzApplicationGroup azApplicationGroup in azApplication.ApplicationGroups) { //Application Groups Definition if (azApplicationGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_BASIC) { //Basic application.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), azApplicationGroup.Name, azApplicationGroup.Description, String.Empty, GroupType.Basic); } else if (azApplicationGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_LDAP_QUERY) { //LDap application.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), azApplicationGroup.Name, azApplicationGroup.Description, azApplicationGroup.LdapQuery, GroupType.LDapQuery); } } //Application Groups Members foreach (IAzApplicationGroup azApplicationGroup in azApplication.ApplicationGroups) { if (azApplicationGroup.Type == (int)tagAZ_PROP_CONSTANTS.AZ_GROUPTYPE_BASIC) { //Basic IAzManApplicationGroup applicationGroup = application.GetApplicationGroup(azApplicationGroup.Name); //Application Group Members - Members Group object[] azStoreGroupMembers = azApplicationGroup.AppMembers as object[]; if (azStoreGroupMembers != null) { foreach (string azGroupMember in azStoreGroupMembers) { IAzManStoreGroup storemember; try { storemember = store.GetStoreGroup(azGroupMember); } catch (SqlAzManException) { storemember = null; } IAzManApplicationGroup appmember; try { appmember = application.GetApplicationGroup(azGroupMember); } catch (SqlAzManException) { appmember = null; } if (storemember != null) { applicationGroup.CreateApplicationGroupMember(storemember.SID, WhereDefined.Store, true); } else { applicationGroup.CreateApplicationGroupMember(appmember.SID, WhereDefined.Application, true); } } } //Application Group Non-Members - Non-Members Group object[] azStoreGroupNonMembers = azApplicationGroup.AppNonMembers as object[]; if (azStoreGroupNonMembers != null) { foreach (string azGroupNonMember in azStoreGroupNonMembers) { IAzManStoreGroup storenonMember; try { storenonMember = store.GetStoreGroup(azGroupNonMember); } catch (SqlAzManException) { storenonMember = null; } IAzManApplicationGroup appnonMember; try { appnonMember = application.GetApplicationGroup(azGroupNonMember); } catch (SqlAzManException) { appnonMember = null; } if (storenonMember != null) { applicationGroup.CreateApplicationGroupMember(storenonMember.SID, WhereDefined.Store, false); } else { applicationGroup.CreateApplicationGroupMember(appnonMember.SID, WhereDefined.Application, false); } } } //Application Group Members - Windows NT Account object[] azApplicationGroupWindowsMembers = azApplicationGroup.Members as object[]; if (azApplicationGroupWindowsMembers != null) { foreach (string azApplicationWindowsMember in azApplicationGroupWindowsMembers) { IAzManSid sid = new SqlAzManSID(azApplicationWindowsMember); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); applicationGroup.CreateApplicationGroupMember(sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, true); } } //Application Group NonMembers - Windows NT Account object[] azApplicationGroupWindowsNonMembers = azApplicationGroup.NonMembers as object[]; if (azApplicationGroupWindowsNonMembers != null) { foreach (string azApplicationWindowsNonMember in azApplicationGroupWindowsNonMembers) { IAzManSid sid = new SqlAzManSID(azApplicationWindowsNonMember); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); applicationGroup.CreateApplicationGroupMember(sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, false); } } } } #endregion Application Groups //Without Scopes IAzTasks tasks = azApplication.Tasks as IAzTasks; if (tasks != null) { foreach (IAzTask azTask in tasks) { if (azTask.IsRoleDefinition == 1) { IAzManItem item = application.CreateItem(azTask.Name, azTask.Description, ItemType.Role); } else { IAzManItem item = application.CreateItem(azTask.Name, azTask.Description, ItemType.Task); } } } IAzOperations operations = azApplication.Operations as IAzOperations; if (operations != null) { foreach (IAzOperation azOperation in operations) { application.CreateItem(azOperation.Name, azOperation.Description, ItemType.Operation); } } //Build Item Hierarchy if (tasks != null) { foreach (IAzTask azTask in tasks) { this.SetHirearchy(null, azApplication, azTask.Name, application); } } //Scopes foreach (IAzScope azScope in azApplication.Scopes) { azApplication.OpenScope(azScope.Name, null); IAzTasks tasksOfScope = azScope.Tasks as IAzTasks; if (tasksOfScope != null) { foreach (IAzTask azTask in tasksOfScope) { if (azTask.IsRoleDefinition == 1) { IAzManItem item = application.CreateItem(azTask.Name, azTask.Description, ItemType.Role); } else { IAzManItem item = application.CreateItem(azTask.Name, azTask.Description, ItemType.Task); } } } //Build Item Hierarchy if (tasksOfScope != null) { foreach (IAzTask azTask in tasksOfScope) { this.SetHirearchy(azScope, azApplication, azTask.Name, application); } } } //Authorizations on Roles without Scopes AuthorizationType defaultAuthorization = AuthorizationType.AllowWithDelegation; IAzRoles azRoles = azApplication.Roles; foreach (IAzRole azRole in azRoles) { IAzManItem item; try { item = application.GetItem(azRole.Name); } catch (SqlAzManException) { item = null; } if (item == null) { item = application.CreateItem(azRole.Name, azRole.Description, ItemType.Role); } //Store & Application Groups Authorizations foreach (string member in (object[])azRole.AppMembers) { IAzManStoreGroup storeGroup; try { storeGroup = application.Store.GetStoreGroup(member); } catch (SqlAzManException) { storeGroup = null; } IAzManApplicationGroup applicationGroup; try { applicationGroup = application.GetApplicationGroup(member); } catch (SqlAzManException) { applicationGroup = null; } if (storeGroup != null) { item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, storeGroup.SID, WhereDefined.Store, defaultAuthorization, null, null); } else if (applicationGroup != null) { item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, applicationGroup.SID, WhereDefined.Application, defaultAuthorization, null, null); } } //Windows Users & Groups Authorizations foreach (string sSid in (object[])azRole.Members) { IAzManSid sid = new SqlAzManSID(sSid); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, defaultAuthorization, null, null); } } //Authorizations on Roles with Scopes foreach (IAzScope azScope in azApplication.Scopes) { IAzRoles azRolesWithScopes = azScope.Roles; foreach (IAzRole azRole in azRolesWithScopes) { IAzManItem item; try { item = application.GetItem(azRole.Name); } catch (SqlAzManException) { item = null; } if (item == null) { item = application.CreateItem(azRole.Name, azRole.Description, ItemType.Role); } //Store & Application Groups Authorizations foreach (string member in (object[])azRole.AppMembers) { IAzManStoreGroup storeGroup; try { storeGroup = application.Store.GetStoreGroup(member); } catch (SqlAzManException) { storeGroup = null; } IAzManApplicationGroup applicationGroup; try { applicationGroup = application.GetApplicationGroup(member); } catch (SqlAzManException) { applicationGroup = null; } if (storeGroup != null) { item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, storeGroup.SID, WhereDefined.Store, defaultAuthorization, null, null); } else if (applicationGroup != null) { item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, applicationGroup.SID, WhereDefined.Application, defaultAuthorization, null, null); } } //Windows Users & Groups Authorizations foreach (string sSid in (object[])azRole.Members) { IAzManSid sid = new SqlAzManSID(sSid); string memberName; bool isLocal; DirectoryServicesWebUtils.GetMemberInfo(sid.StringValue, out memberName, out isLocal); item.CreateAuthorization(this.currentOwnerSid, this.currentOwnerSidWhereDefined, sid, isLocal ? WhereDefined.Local : WhereDefined.LDAP, defaultAuthorization, null, null); } } } //try //{ // azstore.CloseApplication(azApplication.Name, 0); //} //catch //{ // //PorkAround: COM Is a mistery //} } #endregion Applications if (storage.TransactionInProgress) { storage.CommitTransaction(); } } catch { if (storage.TransactionInProgress) { storage.RollBackTransaction(); } throw; } finally { if (azstore != null) { System.Runtime.InteropServices.Marshal.ReleaseComObject(azstore); File.Delete(tempFileName); azstore = null; } } }
private void SaveRecord() { try { _Storage.OpenConnection(); _Storage.BeginTransaction(AzManIsolationLevel.ReadUncommitted); #region Managers KeyValuePair <string, bool>[] managers = _Store.GetManagers(); foreach (CheckBox sqlLogin in flpManagers.Controls) { if (sqlLogin.Checked) { if (!FindLogin(managers, sqlLogin.Text)) { _Store.GrantAccessAsManager(sqlLogin.Text); } } else { if (FindLogin(managers, sqlLogin.Text)) { _Store.RevokeAccessAsManager(sqlLogin.Text); } } } #endregion #region Users KeyValuePair <string, bool>[] users = _Store.GetUsers(); foreach (CheckBox sqlLogin in flpUsers.Controls) { if (sqlLogin.Checked) { if (!FindLogin(users, sqlLogin.Text)) { _Store.GrantAccessAsUser(sqlLogin.Text); } } else { if (FindLogin(users, sqlLogin.Text)) { _Store.RevokeAccessAsUser(sqlLogin.Text); } } } #endregion #region Readers KeyValuePair <string, bool>[] readers = _Store.GetReaders(); foreach (CheckBox sqlLogin in flpReaders.Controls) { if (sqlLogin.Checked) { if (!FindLogin(readers, sqlLogin.Text)) { _Store.GrantAccessAsReader(sqlLogin.Text); } } else { if (FindLogin(readers, sqlLogin.Text)) { _Store.RevokeAccessAsReader(sqlLogin.Text); } } } #endregion _Storage.CommitTransaction(); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { _Storage.CloseConnection(); } _Dirty = true; }