Ejemplo n.º 1
0
        public override UpdateRulesRes Execute(UpdateRulesReq pServiceRequest)
        {
            UpdateRulesRes wRes = new UpdateRulesRes();

            pServiceRequest.BusinessData.FwkAuthorizationRuleList.ForEach(r => FwkMembership.UpdateRule(r, pServiceRequest.SecurityProviderName));
            return(wRes);
        }
Ejemplo n.º 2
0
        public override DeleteRoleRes Execute(DeleteRoleReq pServiceRequest)
        {
            Rol           wRol;
            DeleteRoleRes wRes = new DeleteRoleRes();

            //Elimina el rol: Este componente si el rol tiene o no asociado usuarios
            //FwkMembership.DeleteRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName);

            if (FwkMembership.GetUsersInRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName).Count != 0)
            {
                throw new FunctionalException(string.Format("El rol {0} contiene usuarios asociados.-", pServiceRequest.BusinessData.RolName));
            }

            //Elimino todas las asociciones de las reglas al rol.- Se modificara el valor Expression de la regla
            List <FwkAuthorizationRule> ruleListAux = FwkMembership.GetRulesByRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName);

            //TODO: Revisar este codigo e actualizacion de reglas si esta bien
            foreach (FwkAuthorizationRule rule in ruleListAux)
            {
                wRol = new Rol(pServiceRequest.BusinessData.RolName);
                FwkMembership.RemoveRol_From_Rule(wRol, rule);

                FwkMembership.UpdateRule(rule, pServiceRequest.SecurityProviderName);
            }

            FwkMembership.DeleteRole(pServiceRequest.BusinessData.RolName, pServiceRequest.SecurityProviderName);
            return(wRes);
        }
Ejemplo n.º 3
0
        public bool AceptChanges()
        {
            if (string.IsNullOrEmpty(txtRuleName.Text))
            {
                errorProvider1.SetError(txtRuleName, "Rule name must not be empty");
                return(false);
            }


            try
            {
                if (_CurrentRule == null)
                {
                    _CurrentRule = new FwkAuthorizationRule();
                }

                _CurrentRule.Expression = txtRuleExpression.Text;

                if (base.State == Bases.EntityUpdateEnum.NEW)
                {
                    _CurrentRule.Name = txtRuleName.Text;
                    if (FwkMembership.ExistRule(txtRuleName.Text.Trim(), frmAdmin.Provider.Name))
                    {
                        MessageViewInfo.Show(String.Format("The rule {0} exist", txtRuleName.Text));
                        txtRuleName.Focus();
                        return(false);
                    }
                    FwkMembership.CreateRule(_CurrentRule, frmAdmin.Provider.Name);

                    MessageViewInfo.Show(String.Format(Properties.Resources.RuleCreatedMessage, txtRuleName.Text));

                    this.btnCreateRule.Enabled = false;
                }
                if (base.State == Bases.EntityUpdateEnum.UPDATED)
                {
                    //Si Cambio el nombre
                    if (_CurrentRule.Name.Trim().CompareTo(txtRuleName.Text.Trim()) != 0)
                    {
                        FwkMembership.UpdateRuleAndRuleName(_CurrentRule, txtRuleName.Text.Trim(), frmAdmin.Provider.Name);
                    }
                    else
                    {
                        FwkMembership.UpdateRule(_CurrentRule, frmAdmin.Provider.Name);
                    }

                    MessageViewInfo.Show(String.Format(Properties.Resources.RuleUpdatedMessage, txtRuleName.Text));
                }
                NewSecurityInfoCreatedHandler();
            }
            catch (Exception ex)
            {
                MessageViewInfo.Show(ex);
                return(false);
            }
            return(true);
        }