Beispiel #1
0
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManApplication != null)
            {
                _Application = Session["selectedObject"] as IAzManApplication;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManItem != null)
            {
                _Task        = Session["selectedObject"] as IAzManItem;
                _Application = _Task.Application;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            _Mode = (_Task == null) ? Mode.Create : Mode.Update;

            SetAttributes();
            LoadTab();
        }
Beispiel #2
0
        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 appGroup = _Application.GetApplicationGroup(item.SubItems[0].Text);
                    IAzManAuthorization    auth     = _AuthItem.CreateAuthorization(
                        new SqlAzManSID(appGroup.SID.ToString(), this._CurrentOwnerSidWhereDefined == WhereDefined.Application),
                        this._CurrentOwnerSidWhereDefined,
                        new SqlAzManSID(appGroup.SID.ToString(), true),
                        WhereDefined.Application,
                        AuthorizationType.Neutral,
                        null,
                        null);
                    #endregion
                }
                #endregion
            }
            _Storage.CommitTransaction();
        }
Beispiel #3
0
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManStoreGroup != null)
            {
                _StoreGroup = this.Session["selectedObject"] as IAzManStoreGroup;
                _Store      = _StoreGroup.Store;
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            _Mode = Mode.Update;

            SetAttributes();
            LoadTab();
        }
 private void raiseApplicationGroupMemberDeleted(IAzManApplicationGroup ownerApplicationGroup, IAzManSid sid)
 {
     if (this.ApplicationGroupMemberDeleted != null)
     {
         this.ApplicationGroupMemberDeleted(ownerApplicationGroup, sid);
     }
 }
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManApplication != null)
            {
                _Application = Session["selectedObject"] as IAzManApplication;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManItem != null)
            {
                _AuthItem    = Session["selectedObject"] as IAzManItem;
                _Application = _AuthItem.Application;
                _Store       = _Application.Store;

                _Authorization = _AuthItem.GetAuthorization(_AuthorizationID);
                MemberType memberType = _Authorization.GetMemberInfo(out _DisplayName);
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            SetAttributes();
            SetToolBar();
            SetListView();

            LoadList();
        }
Beispiel #6
0
 private void raiseApplicationGroupRenamed(IAzManApplicationGroup applicationGroup, string oldName)
 {
     if (this.ApplicationGroupRenamed != null)
     {
         this.ApplicationGroupRenamed(applicationGroup, oldName);
     }
 }
Beispiel #7
0
 private void raiseApplicationGroupMemberCreated(IAzManApplicationGroup applicationGroup, IAzManApplicationGroupMember memberCreated)
 {
     if (this.ApplicationGroupMemberCreated != null)
     {
         this.ApplicationGroupMemberCreated(applicationGroup, memberCreated);
     }
 }
Beispiel #8
0
 private void raiseApplicationGroupUpdated(IAzManApplicationGroup applicationGroup, IAzManSid oldSid, string oldDescription, GroupType oldGroupType)
 {
     if (this.ApplicationGroupUpdated != null)
     {
         this.ApplicationGroupUpdated(applicationGroup, oldSid, oldDescription, oldGroupType);
     }
 }
Beispiel #9
0
 private void raiseApplicationGroupLDAPQueryUpdated(IAzManApplicationGroup applicationGroup, string oldLDapQuery)
 {
     if (this.ApplicationGroupLDAPQueryUpdated != null)
     {
         this.ApplicationGroupLDAPQueryUpdated(applicationGroup, oldLDapQuery);
     }
 }
Beispiel #10
0
        /// <summary>
        /// Creates the application group member.
        /// </summary>
        /// <param name="sid">The object owner.</param>
        /// <param name="whereDefined">The where defined.</param>
        /// <param name="isMember">if set to <c>true</c> [is member].</param>
        public IAzManApplicationGroupMember CreateApplicationGroupMember(IAzManSid sid, WhereDefined whereDefined, bool isMember)
        {
            if (this.groupType != GroupType.Basic)
            {
                throw new InvalidOperationException("Method not supported for LDAP Groups");
            }

            if (this.application.Store.Storage.Mode == NetSqlAzManMode.Administrator && whereDefined == WhereDefined.Local)
            {
                throw new SqlAzManException("Cannot create Application Group members defined on local in Administrator Mode");
            }
            //Loop detection
            if (whereDefined == WhereDefined.Application)
            {
                IAzManApplicationGroup applicationGroupToAdd = this.application.GetApplicationGroup(sid);
                if (this.detectLoop(applicationGroupToAdd))
                {
                    throw new SqlAzManException(String.Format("Cannot add '{0}'. A loop has been detected.", applicationGroupToAdd.Name));
                }
            }
            int retV = this.db.ApplicationGroupMemberInsert(this.applicationGroupId, sid.BinaryValue, (byte)whereDefined, isMember, this.application.ApplicationId);
            IAzManApplicationGroupMember result = new SqlAzManApplicationGroupMember(this.db, this, retV, sid, whereDefined, isMember, this.ens);

            this.raiseApplicationGroupMemberCreated(this, result);
            if (this.ens != null)
            {
                this.ens.AddPublisher(result);
            }
            return(result);
        }
Beispiel #11
0
        private bool detectLoop(IAzManApplicationGroup applicationGroupToAdd)
        {
            if (applicationGroupToAdd.GroupType == GroupType.LDapQuery)
            {
                return(false);
            }
            bool loopDetected = false;

            IAzManApplicationGroupMember[] membersOfApplicationGroupToAdd = applicationGroupToAdd.GetApplicationGroupAllMembers();
            foreach (IAzManApplicationGroupMember member in membersOfApplicationGroupToAdd)
            {
                if (member.WhereDefined == WhereDefined.Application)
                {
                    IAzManApplicationGroup applicationGroupMember = this.application.GetApplicationGroup(member.SID);
                    if (applicationGroupMember.SID.StringValue == this.sid.StringValue)
                    {
                        return(true);
                    }
                    else
                    {
                        if (this.detectLoop(applicationGroupMember))
                        {
                            loopDetected = true;
                        }
                    }
                }
            }
            return(loopDetected);
        }
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManApplication != null)
            {
                _Application = Session["selectedObject"] as IAzManApplication;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManItem != null)
            {
                _AuthItem    = Session["selectedObject"] as IAzManItem;
                _Application = _AuthItem.Application;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            SetAttributes();
            SetToolBar();

            LoadList();
        }
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManApplication != null)
            {
                _Application = Session["selectedObject"] as IAzManApplication;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            _Mode = (_ApplicationGroup == null) ? Mode.Create : Mode.Update;

            SetAttributes();
            SetToolBar();

            if (_Mode == Mode.Update)
            {
                LoadRecord();
            }
        }
Beispiel #14
0
        private void Form_Load(object sender, EventArgs e)
        {
            _Storage = (IAzManStorage)Session["storage"];

            if (Session["selectedObject"] as IAzManStore != null)
            {
                _Store = Session["selectedObject"] as IAzManStore;
            }
            if (Session["selectedObject"] as IAzManApplication != null)
            {
                _Application = Session["selectedObject"] as IAzManApplication;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManItem != null)
            {
                _AzManItem   = Session["selectedObject"] as IAzManItem;
                _Application = _AzManItem.Application;
                _Store       = _Application.Store;
            }
            if (Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                _ApplicationGroup = Session["selectedObject"] as IAzManApplicationGroup;
                _Application      = _ApplicationGroup.Application;
                _Store            = _Application.Store;
            }

            _Mode = String.IsNullOrEmpty(_AzManItem.BizRuleSource) ? Mode.Create : Mode.Update;

            SetAttributes();
            SetToolBar();

            LoadBizRule();
        }
 internal static SqlAzManException ApplicationGroupMemberNotFoundException(string memberName, IAzManApplicationGroup applicationGroup, Exception innerException)
 {
     SqlAzManException ex = new SqlAzManException(String.Format("Application Group Member '{0}' not found. Store '{1}', Application '{2}', Application Group '{3}'.", memberName, applicationGroup.Application.Store.Name, applicationGroup.Application.Name, applicationGroup.Name), innerException);
     addParameter(ex, "Store name", applicationGroup.Application.Store.Name);
     addParameter(ex, "Application name", applicationGroup.Application.Name);
     addParameter(ex, "Application Group name", applicationGroup.Name);
     addParameter(ex, "Member name", memberName);
     return ex;
 }
Beispiel #16
0
        private ListViewItem CreateApplicationListViewItem(IAzManApplicationGroup member)
        {
            ListViewItem lvi = new ListViewItem();

            lvi.Tag  = member;
            lvi.Text = member.Name;
            lvi.SubItems.Add(Globalization.MultilanguageResource.GetString("WhereDefined_Application"));
            return(lvi);
        }
Beispiel #17
0
        private ListViewItem CreateApplicationListViewItem(IAzManApplicationGroup member)
        {
            ListViewItem lvi = new ListViewItem();

            lvi.Tag  = member;
            lvi.Text = member.Name;
            lvi.SubItems.Add("Application");
            lvi.SubItems.Add(member.SID.StringValue);
            return(lvi);
        }
 internal SqlAzManApplicationGroupMember(NetSqlAzManStorageDataContext db, IAzManApplicationGroup applicationGroup, int applicationGroupMemberId, IAzManSid sid, WhereDefined whereDefined, bool isMember, SqlAzManENS ens)
 {
     this.db = db;
     this.applicationGroup = applicationGroup;
     this.applicationGroupMemberId = applicationGroupMemberId;
     this.sid = sid;
     this.whereDefined = whereDefined;
     this.isMember = isMember;
     this.ens = ens;
 }
 internal SqlAzManApplicationGroupMember(NetSqlAzManStorageDataContext db, IAzManApplicationGroup applicationGroup, int applicationGroupMemberId, IAzManSid sid, WhereDefined whereDefined, bool isMember, SqlAzManENS ens)
 {
     this.db = db;
     this.applicationGroup         = applicationGroup;
     this.applicationGroupMemberId = applicationGroupMemberId;
     this.sid          = sid;
     this.whereDefined = whereDefined;
     this.isMember     = isMember;
     this.ens          = ens;
 }
Beispiel #20
0
 protected void btnNonMembersRemove_Click(object sender, EventArgs e)
 {
     for (int i = 0; i < this.dgNonMembers.Rows.Count; i++)
     {
         if (((System.Web.UI.WebControls.CheckBox) this.dgNonMembers.Rows[i].FindControl("chkSelect")).Checked)
         {
             string sid = this.dgNonMembers.Rows[i].Cells[3].Text;
             foreach (ListViewItem lvi in this.lsvNonMembers.Items)
             {
                 if (lvi.SubItems[1].Text == sid)
                 {
                     lvi.Selected = true;
                     break;
                 }
             }
         }
     }
     foreach (ListViewItem lvi in this.lsvNonMembers.Items)
     {
         if (lvi.Selected)
         {
             if ((lvi.Tag as IAzManStoreGroup) != null)
             {
                 IAzManStoreGroup lviTag = (IAzManStoreGroup)lvi.Tag;
                 this.NonMembersToRemove.Add(new GenericMember(lviTag.Name, lviTag.SID, WhereDefined.Store));
                 this.modified = true;
             }
             if ((lvi.Tag as IAzManApplicationGroup) != null)
             {
                 IAzManApplicationGroup lviTag = (IAzManApplicationGroup)lvi.Tag;
                 this.NonMembersToRemove.Add(new GenericMember(lviTag.Name, lviTag.SID, WhereDefined.Application));
                 this.modified = true;
             }
             else if ((lvi.Tag as IAzManApplicationGroupMember) != null)
             {
                 IAzManApplicationGroupMember lviTag = (IAzManApplicationGroupMember)lvi.Tag;
                 this.NonMembersToRemove.Add(new GenericMember(lviTag.SID.StringValue, lviTag.SID, WhereDefined.LDAP));
                 this.modified = true;
             }
             else if ((lvi.Tag as GenericMember) != null)
             {
                 GenericMember lviTag = (GenericMember)lvi.Tag;
                 if (this.NonMembersToAdd.Remove(lviTag.sid.StringValue))
                 {
                     this.modified = true;
                 }
             }
             lvi.Selected = false;
         }
     }
     this.RefreshApplicationGroupProperties();
 }
 protected void btnOk_Click(object sender, EventArgs e)
 {
     try
     {
         IAzManApplicationGroup applicationGroup = this.application.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), this.txtName.Text.Trim(), this.txtDescription.Text.Trim(), String.Empty, (this.rbtBasic.Checked ? GroupType.Basic : GroupType.LDapQuery));
         this.Session["FindChildNodeText"] = applicationGroup.Name;
         this.closeWindow(true);
     }
     catch (Exception ex)
     {
         this.ShowError(ex.Message);
     }
 }
Beispiel #22
0
 public ApplicationGroupScopeNode(IAzManApplicationGroup applicationGroup) : base(true)
 {
     this.applicationGroup = applicationGroup;
     // Create a message view for the Application Group node.
     MMC.MmcListViewDescription lvlApplicationGroup = new MMC.MmcListViewDescription();
     lvlApplicationGroup.DisplayName = Globalization.MultilanguageResource.GetString("ListView_Msg10");
     lvlApplicationGroup.ViewType    = typeof(ApplicationGroupListView);
     lvlApplicationGroup.Options     = MMC.MmcListViewOptions.AllowUserInitiatedModeChanges;
     this.ViewDescriptions.Clear();
     this.ViewDescriptions.Add(lvlApplicationGroup);
     this.ViewDescriptions.DefaultIndex = 0;
     this.RenderApplicationGroupScopeNode();
 }
Beispiel #23
0
 protected void Page_Load(object sender, EventArgs e)
 {
     this.storage          = this.Session["storage"] as IAzManStorage;
     this.applicationGroup = this.Session["applicationGroup"] as IAzManApplicationGroup;
     this.application      = this.Session["application"] as IAzManApplication;
     this.Text             = "Application Groups List";
     this.Description      = this.Text;
     this.Title            = this.Text;
     if (!Page.IsPostBack)
     {
         this.RefreshApplicationList();
     }
 }
 protected void Page_Load(object sender, EventArgs e)
 {
     this.storage = this.Session["storage"] as IAzManStorage;
     this.applicationGroup = this.Session["applicationGroup"] as IAzManApplicationGroup;
     this.application = this.Session["application"] as IAzManApplication;
     this.Text = "Application Groups List";
     this.Description = this.Text;
     this.Title = this.Text;
     if (!Page.IsPostBack)
     {
         this.RefreshApplicationList();
     }
 }
 public ApplicationGroupScopeNode(IAzManApplicationGroup applicationGroup)
     : base(true)
 {
     this.applicationGroup = applicationGroup;
     // Create a message view for the Application Group node.
     MMC.MmcListViewDescription lvlApplicationGroup = new MMC.MmcListViewDescription();
     lvlApplicationGroup.DisplayName = Globalization.MultilanguageResource.GetString("ListView_Msg10");
     lvlApplicationGroup.ViewType = typeof(ApplicationGroupListView);
     lvlApplicationGroup.Options = MMC.MmcListViewOptions.AllowUserInitiatedModeChanges;
     this.ViewDescriptions.Clear();
     this.ViewDescriptions.Add(lvlApplicationGroup);
     this.ViewDescriptions.DefaultIndex = 0;
     this.RenderApplicationGroupScopeNode();
 }
 private void btnOk_Click(object sender, EventArgs e)
 {
     this.HourGlass(true);
     try
     {
         this.applicationGroup = this.application.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), this.txtName.Text.Trim(), this.txtDescription.Text.Trim(), String.Empty, (this.rbtBasic.Checked ? GroupType.Basic : GroupType.LDapQuery));
         this.HourGlass(false);
         this.DialogResult = DialogResult.OK;
     }
     catch (Exception ex)
     {
         this.HourGlass(false);
         this.DialogResult = DialogResult.None;
         this.ShowError(ex.Message, Globalization.MultilanguageResource.GetString("frmNewApplicationGroup_Msg20"));
     }
 }
 private void btnOk_Click(object sender, EventArgs e)
 {
     this.HourGlass(true);
     try
     {
         this.applicationGroup = this.application.CreateApplicationGroup(SqlAzManSID.NewSqlAzManSid(), this.txtName.Text.Trim(), this.txtDescription.Text.Trim(), String.Empty, (this.rbtBasic.Checked ? GroupType.Basic : GroupType.LDapQuery));
         this.HourGlass(false);
         this.DialogResult = DialogResult.OK;
     }
     catch (Exception ex)
     {
         this.HourGlass(false);
         this.DialogResult = DialogResult.None;
         this.ShowError(ex.Message, Globalization.MultilanguageResource.GetString("frmNewApplicationGroup_Msg20"));
     }
 }
        private DataRow AddApplicationDataRow(IAzManApplicationGroup member)
        {
            DataRow dr = this.dtAuthorizations.NewRow();

            dr["Owner"]                 = this.currentOwnerName;
            dr["OwnerSID"]              = this.currentOwnerSid;
            dr["Name"]                  = member.Name;
            dr["MemberType"]            = this.RenderMemberType(MemberType.ApplicationGroup, member.SID);
            dr["MemberTypeEnum"]        = MemberType.ApplicationGroup;
            dr["ObjectSID"]             = member.SID;
            dr["WhereDefined"]          = WhereDefined.Application.ToString();
            dr["WhereDefinedEnum"]      = WhereDefined.Application;
            dr["AuthorizationType"]     = this.RenderAuthorizationType(AuthorizationType.Neutral);
            dr["AuthorizationTypeEnum"] = AuthorizationType.Neutral;
            dr["ValidFrom"]             = DBNull.Value;
            dr["ValidTo"]               = DBNull.Value;
            this.dtAuthorizations.Rows.Add(dr);
            return(dr);
        }
        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();
        }
Beispiel #30
0
 private void btnMembersRemove_Click(object sender, EventArgs e)
 {
     this.HourGlass(true);
     foreach (ListViewItem lvi in this.lsvMembers.SelectedItems)
     {
         if ((lvi.Tag as IAzManStoreGroup) != null)
         {
             IAzManStoreGroup lviTag = (IAzManStoreGroup)(lvi.Tag);
             this.MembersToRemove.Add(new GenericMember(lviTag.Name, lviTag.SID, WhereDefined.Store));
             this.modified = true;
         }
         else if ((lvi.Tag as IAzManApplicationGroup) != null)
         {
             IAzManApplicationGroup lviTag = (IAzManApplicationGroup)(lvi.Tag);
             this.MembersToRemove.Add(new GenericMember(lviTag.Name, lviTag.SID, WhereDefined.Application));
             this.modified = true;
         }
         else if ((lvi.Tag as IAzManApplicationGroupMember) != null)
         {
             IAzManApplicationGroupMember lviTag = (IAzManApplicationGroupMember)(lvi.Tag);
             this.MembersToRemove.Add(new GenericMember(lviTag.SID.StringValue, lviTag.SID, WhereDefined.LDAP));
             this.modified = true;
         }
         else if ((lvi.Tag as GenericMember) != null)
         {
             GenericMember lviTag = (GenericMember)(lvi.Tag);
             if (this.MembersToAdd.Remove(lviTag.sid.StringValue))
             {
                 this.modified = true;
             }
         }
     }
     this.RefreshApplicationGroupProperties();
     if (this.lsvMembers.Items.Count == 0)
     {
         this.btnMembersRemove.Enabled = false;
     }
     this.HourGlass(false);
 }
Beispiel #31
0
 /// <summary>
 /// Adds an IAzManApplicationGroup publisher.
 /// </summary>
 /// <param name="publisher">The applicationGroup.</param>
 internal void AddPublisher(IAzManApplicationGroup publisher)
 {
     publisher.ApplicationGroupMemberCreated += new ApplicationGroupMemberCreatedDelegate(delegate(IAzManApplicationGroup applicationGroup, IAzManApplicationGroupMember applicationGroupMembercreated) { if (this.ApplicationGroupMemberCreated != null) this.ApplicationGroupMemberCreated(applicationGroup, applicationGroupMembercreated); });
     publisher.ApplicationGroupDeleted += new ApplicationGroupDeletedDelegate(delegate(IAzManApplication ownerApplication, string applicationGroupName) { if (this.ApplicationGroupDeleted != null) this.ApplicationGroupDeleted(ownerApplication, applicationGroupName); });
     publisher.ApplicationGroupLDAPQueryUpdated += new ApplicationGroupLDAPQueryUpdatedDelegate(delegate(IAzManApplicationGroup applicationGroup, string oldLDapQuery) { if (this.ApplicationGroupLDAPQueryUpdated != null) this.ApplicationGroupLDAPQueryUpdated(applicationGroup, oldLDapQuery); });
     publisher.ApplicationGroupRenamed += new ApplicationGroupRenamedDelegate(delegate(IAzManApplicationGroup applicationGroup, string oldName) { if (this.ApplicationGroupRenamed != null) this.ApplicationGroupRenamed(applicationGroup, oldName); });
     publisher.ApplicationGroupUpdated += new ApplicationGroupUpdatedDelegate(delegate(IAzManApplicationGroup applicationGroup, IAzManSid oldSid, string oldDescription, GroupType oldGroupType) { if (this.ApplicationGroupUpdated != null) this.ApplicationGroupUpdated(applicationGroup, oldSid, oldDescription, oldGroupType); });
 }
Beispiel #32
0
 private IAzManSid[] getCachedLDAPQueryResults(IAzManApplicationGroup applicationGroup)
 {
     string key = "applicationGroup " + applicationGroup.ApplicationGroupId.ToString();
     if (!this.ldapQueryResults.ContainsKey(key))
     {
         lock (ldapQueryResults)
         {
             if (!this.ldapQueryResults.ContainsKey(key))
             {
                 //LDAP Group
                 var ldapQueryResult = applicationGroup.ExecuteLDAPQuery();
                 if (ldapQueryResult != null)
                 {
                     IAzManSid[] membersResults = new IAzManSid[ldapQueryResult.Count];
                     for (int i = 0; i < ldapQueryResult.Count; i++)
                     {
                         membersResults[i] = new SqlAzManSID((byte[])ldapQueryResult[i].Properties["objectSid"][0]);
                     }
                     this.ldapQueryResults.Add(key, membersResults);
                 }
             }
         }
     }
     return (IAzManSid[])this.ldapQueryResults[key];
 }
 private void raiseApplicationGroupLDAPQueryUpdated(IAzManApplicationGroup applicationGroup, string oldLDapQuery)
 {
     if (this.ApplicationGroupLDAPQueryUpdated != null)
         this.ApplicationGroupLDAPQueryUpdated(applicationGroup, oldLDapQuery);
 }
 private bool detectLoop(IAzManApplicationGroup applicationGroupToAdd)
 {
     if (applicationGroupToAdd.GroupType == GroupType.LDapQuery)
         return false;
     bool loopDetected = false;
     IAzManApplicationGroupMember[] membersOfApplicationGroupToAdd = applicationGroupToAdd.GetApplicationGroupAllMembers();
     foreach (IAzManApplicationGroupMember member in membersOfApplicationGroupToAdd)
     {
         if (member.WhereDefined == WhereDefined.Application)
         {
             IAzManApplicationGroup applicationGroupMember = this.application.GetApplicationGroup(member.SID);
             if (applicationGroupMember.SID.StringValue == this.sid.StringValue)
             {
                 return true;
             }
             else
             {
                 if (this.detectLoop(applicationGroupMember))
                 {
                     loopDetected = true;
                 }
             }
         }
     }
     return loopDetected;
 }
 private void raiseApplicationGroupMemberCreated(IAzManApplicationGroup applicationGroup, IAzManApplicationGroupMember memberCreated)
 {
     if (this.ApplicationGroupMemberCreated != null)
         this.ApplicationGroupMemberCreated(applicationGroup, memberCreated);
 }
Beispiel #36
0
        protected void Page_Load(object sender, EventArgs e)
        {
            this.storage = this.Session["storage"] as IAzManStorage;
            if (this.Session["selectedObject"] as IAzManApplication != null)
            {
                this.application            = this.Session["selectedObject"] as IAzManApplication;
                this.Session["application"] = this.application;
            }
            if (this.Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                this.applicationGroup            = this.Session["selectedObject"] as IAzManApplicationGroup;
                this.Session["applicationGroup"] = this.applicationGroup;
                this.Session["store"]            = this.applicationGroup.Application.Store;
                this.Session["application"]      = this.applicationGroup.Application;
            }
            this.Text        = "Application Group properties" + (this.applicationGroup != null ? ": " + this.applicationGroup.Name : String.Empty);
            this.Description = "Application Group properties";
            this.Title       = this.Text;
            if (!Page.IsPostBack)
            {
                this.MembersToAdd             = new GenericMemberCollection();
                this.MembersToRemove          = new GenericMemberCollection();
                this.NonMembersToAdd          = new GenericMemberCollection();
                this.NonMembersToRemove       = new GenericMemberCollection();
                this.lsvMembers               = new ListView();
                this.lsvNonMembers            = new ListView();
                this.mnuTab.Items[1].Selected = true; //0 is blank
                this.mnuTab_MenuItemClick(this, new System.Web.UI.WebControls.MenuEventArgs(this.mnuTab.Items[1]));
                this.txtName.Text        = this.applicationGroup.Name;
                this.txtDescription.Text = this.applicationGroup.Description;
                this.txtGroupType.Text   = (this.applicationGroup.GroupType == GroupType.Basic ? "Basic group" : "LDAP Query group");

                if (this.applicationGroup.GroupType == GroupType.Basic)
                {
                    this.btnMembersAddApplicationGroup.Enabled = this.btnNonMembersAddApplicationGroup.Enabled = this.applicationGroup.Application.HasApplicationGroups();
                    this.mnuTab.Items.RemoveAt(3);
                    this.mnuTab.Items.RemoveAt(2);
                    this.lsvMembers.Items.Clear();
                    this.lsvNonMembers.Items.Clear();
                    this.setImage("StoreApplicationGroup_32x32.gif");
                }
                else
                {
                    this.mnuTab.Items.RemoveAt(7);
                    this.mnuTab.Items.RemoveAt(6);
                    this.mnuTab.Items.RemoveAt(5);
                    this.mnuTab.Items.RemoveAt(4);
                    this.setImage("WindowsQueryLDAPGroup_32x32.gif");
                }
                this.RefreshApplicationGroupProperties();
                this.saveSessionVariables();
                this.modified = false;
                this.txtName.Focus();
            }
            else
            {
                this.loadSessionVariables();
                if (this.Session["selectedStoreGroups"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                    {
                        this.btnMembersAddStoreGroups_Click(this, EventArgs.Empty);
                    }
                    else if (this.mnuTab.SelectedValue == "Non Members")
                    {
                        this.btnNonMembersAddStoreGroup_Click(this, EventArgs.Empty);
                    }
                }
                if (this.Session["selectedApplicationGroups"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                    {
                        this.btnMembersAddApplicationGroups_Click(this, EventArgs.Empty);
                    }
                    else if (this.mnuTab.SelectedValue == "Non Members")
                    {
                        this.btnNonMembersAddApplicationGroup_Click(this, EventArgs.Empty);
                    }
                }
                if (this.Session["selectedDBUsers"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                    {
                        this.btnMembersAddDBUsers_Click(this, EventArgs.Empty);
                    }
                    else if (this.mnuTab.SelectedValue == "Non Members")
                    {
                        this.btnNonMembersAddDBUsers_Click(this, EventArgs.Empty);
                    }
                }
                if (this.Session["selectedADObjects"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                    {
                        this.btnMembersAddWindowsUsersAndGroups_Click(this, EventArgs.Empty);
                    }
                    else if (this.mnuTab.SelectedValue == "Non Members")
                    {
                        this.btnNonMembersAddWindowsUsersAndGroup_Click(this, EventArgs.Empty);
                    }
                }
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            this.storage = this.Session["storage"] as IAzManStorage;
            if (this.Session["selectedObject"] as IAzManApplication != null)
            {
                this.application = this.Session["selectedObject"] as IAzManApplication;
                this.Session["application"] = this.application;
            }
            if (this.Session["selectedObject"] as IAzManApplicationGroup != null)
            {
                this.applicationGroup = this.Session["selectedObject"] as IAzManApplicationGroup;
                this.Session["applicationGroup"] = this.applicationGroup;
                this.Session["store"] = this.applicationGroup.Application.Store;
                this.Session["application"] = this.applicationGroup.Application;
            }
            this.Text = "Application Group properties" + (this.applicationGroup != null ? ": " + this.applicationGroup.Name : String.Empty);
            this.Description = "Application Group properties";
            this.Title = this.Text;
            if (!Page.IsPostBack)
            {
                this.MembersToAdd = new GenericMemberCollection();
                this.MembersToRemove = new GenericMemberCollection();
                this.NonMembersToAdd = new GenericMemberCollection();
                this.NonMembersToRemove = new GenericMemberCollection();
                this.lsvMembers = new ListView();
                this.lsvNonMembers = new ListView();
                this.mnuTab.Items[1].Selected = true; //0 is blank
                this.mnuTab_MenuItemClick(this, new System.Web.UI.WebControls.MenuEventArgs(this.mnuTab.Items[1]));
                this.txtName.Text = this.applicationGroup.Name;
                this.txtDescription.Text = this.applicationGroup.Description;
                this.txtGroupType.Text = (this.applicationGroup.GroupType == GroupType.Basic ? "Basic group" : "LDAP Query group");

                if (this.applicationGroup.GroupType == GroupType.Basic)
                {
                    this.btnMembersAddApplicationGroup.Enabled = this.btnNonMembersAddApplicationGroup.Enabled = this.applicationGroup.Application.HasApplicationGroups();
                    this.mnuTab.Items.RemoveAt(3);
                    this.mnuTab.Items.RemoveAt(2);
                    this.lsvMembers.Items.Clear();
                    this.lsvNonMembers.Items.Clear();
                    this.setImage("StoreApplicationGroup_32x32.gif");
                }
                else
                {
                    this.mnuTab.Items.RemoveAt(7);
                    this.mnuTab.Items.RemoveAt(6);
                    this.mnuTab.Items.RemoveAt(5);
                    this.mnuTab.Items.RemoveAt(4);
                    this.setImage("WindowsQueryLDAPGroup_32x32.gif");
                }
                this.RefreshApplicationGroupProperties();
                this.saveSessionVariables();
                this.modified = false;
                this.txtName.Focus();
            }
            else
            {
                this.loadSessionVariables();
                if (this.Session["selectedStoreGroups"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                        this.btnMembersAddStoreGroups_Click(this, EventArgs.Empty);
                    else if (this.mnuTab.SelectedValue == "Non Members")
                        this.btnNonMembersAddStoreGroup_Click(this, EventArgs.Empty);
                }
                if (this.Session["selectedApplicationGroups"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                        this.btnMembersAddApplicationGroups_Click(this, EventArgs.Empty);
                    else if (this.mnuTab.SelectedValue == "Non Members")
                        this.btnNonMembersAddApplicationGroup_Click(this, EventArgs.Empty);
                }
                if (this.Session["selectedDBUsers"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                        this.btnMembersAddDBUsers_Click(this, EventArgs.Empty);
                    else if (this.mnuTab.SelectedValue == "Non Members")
                        this.btnNonMembersAddDBUsers_Click(this, EventArgs.Empty);
                }
                if (this.Session["selectedADObjects"] != null)
                {
                    if (this.mnuTab.SelectedValue == "Members")
                        this.btnMembersAddWindowsUsersAndGroups_Click(this, EventArgs.Empty);
                    else if (this.mnuTab.SelectedValue == "Non Members")
                        this.btnNonMembersAddWindowsUsersAndGroup_Click(this, EventArgs.Empty);
                }
            }
        }
 void SqlAzManENS_ApplicationGroupRenamed(IAzManApplicationGroup applicationGroup, string oldName)
 {
     logging.WriteInfo(this, String.Format("ENS Event: {0}\r\n\r\nApplication Group: {1}\r\nOld Name: {2}\r\n", "ApplicationGroupRenamed(", applicationGroup.ToString(), oldName));
 }
 private void raiseApplicationGroupUpdated(IAzManApplicationGroup applicationGroup, IAzManSid oldSid, string oldDescription, GroupType oldGroupType)
 {
     if (this.ApplicationGroupUpdated != null)
         this.ApplicationGroupUpdated(applicationGroup, oldSid, oldDescription, oldGroupType);
 }
 private void raiseApplicationGroupCreated(IAzManApplication application, IAzManApplicationGroup applicationGroupCreated)
 {
     if (this.ApplicationGroupCreated != null)
         this.ApplicationGroupCreated(application, applicationGroupCreated);
 }
 void SqlAzManENS_ApplicationGroupLDAPQueryUpdated(IAzManApplicationGroup applicationGroup, string oldLDapQuery)
 {
     logging.WriteInfo(this, String.Format("ENS Event: {0}\r\n\r\nApplication Group: {1}\r\nOld LDAP Query: {2}\r\n", "ApplicationGroupLDAPQueryUpdated", applicationGroup.ToString(), oldLDapQuery));
 }
 void SqlAzManENS_ApplicationGroupMemberCreated(IAzManApplicationGroup applicationGroup, IAzManApplicationGroupMember memberCreated)
 {
     logging.WriteInfo(this, String.Format("ENS Event: {0}\r\n\r\nApplication Group: {1}\r\nMember Created: {2}\r\n", "ApplicationGroupMemberCreated", applicationGroup.ToString(), memberCreated.ToString()));
 }
 void SqlAzManENS_ApplicationGroupMemberDeleted(IAzManApplicationGroup ownerApplicationGroup, IAzManSid sid)
 {
     logging.WriteInfo(this, String.Format("ENS Event: {0}\r\n\r\nApplication Group: {1}\r\nSID: {2}\r\n", "ApplicationGroupMemberDeleted", ownerApplicationGroup.ToString(), sid));
 }
Beispiel #44
0
        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 raiseApplicationGroupMemberDeleted(IAzManApplicationGroup ownerApplicationGroup, IAzManSid sid)
 {
     if (this.ApplicationGroupMemberDeleted != null)
         this.ApplicationGroupMemberDeleted(ownerApplicationGroup, sid);
 }
 private DataRow AddApplicationDataRow(IAzManApplicationGroup member)
 {
     DataRow dr = this.dtAuthorizations.NewRow();
     dr["Owner"] = this.currentOwnerName;
     dr["OwnerSID"] = this.currentOwnerSid;
     dr["Name"] = member.Name;
     dr["MemberType"] = this.RenderMemberType(MemberType.ApplicationGroup, member.SID);
     dr["MemberTypeEnum"] = MemberType.ApplicationGroup;
     dr["ObjectSID"] = member.SID;
     dr["WhereDefined"] = WhereDefined.Application.ToString();
     dr["WhereDefinedEnum"] = WhereDefined.Application;
     dr["AuthorizationType"] = this.RenderAuthorizationType(AuthorizationType.Neutral);
     dr["AuthorizationTypeEnum"] = AuthorizationType.Neutral;
     dr["ValidFrom"] = DBNull.Value;
     dr["ValidTo"] = DBNull.Value;
     this.dtAuthorizations.Rows.Add(dr);
     return dr;
 }
 void SqlAzManENS_ApplicationGroupUpdated(IAzManApplicationGroup applicationGroup, IAzManSid oldSid, string oldDescription, GroupType oldGroupType)
 {
     logging.WriteInfo(this, String.Format("ENS Event: {0}\r\n\r\nApplication Group: {1}\r\nOld SID: {2}\r\nOld Description: {3}\r\nOld Group Type: {4}\r\n", "ApplicationGroupUpdated", applicationGroup.ToString(), oldSid, oldDescription, oldGroupType));
 }
 private ListViewItem CreateApplicationListViewItem(IAzManApplicationGroup member)
 {
     ListViewItem lvi = new ListViewItem();
     lvi.Tag = member;
     lvi.Text = member.Name;
     lvi.SubItems.Add("Application");
     lvi.SubItems.Add(member.SID.StringValue);
     return lvi;
 }
 private ListViewItem CreateApplicationListViewItem(IAzManApplicationGroup member)
 {
     ListViewItem lvi = new ListViewItem();
     lvi.Tag = member;
     lvi.Text = member.Name;
     lvi.SubItems.Add(Globalization.MultilanguageResource.GetString("WhereDefined_Application"));
     return lvi;
 }
        internal static SqlAzManException ApplicationGroupMemberNotFoundException(string memberName, IAzManApplicationGroup applicationGroup, Exception innerException)
        {
            SqlAzManException ex = new SqlAzManException(String.Format("Application Group Member '{0}' not found. Store '{1}', Application '{2}', Application Group '{3}'.", memberName, applicationGroup.Application.Store.Name, applicationGroup.Application.Name, applicationGroup.Name), innerException);

            addParameter(ex, "Store name", applicationGroup.Application.Store.Name);
            addParameter(ex, "Application name", applicationGroup.Application.Name);
            addParameter(ex, "Application Group name", applicationGroup.Name);
            addParameter(ex, "Member name", memberName);
            return(ex);
        }
 private void raiseApplicationGroupRenamed(IAzManApplicationGroup applicationGroup, string oldName)
 {
     if (this.ApplicationGroupRenamed != null)
         this.ApplicationGroupRenamed(applicationGroup, oldName);
 }