Пример #1
0
        public override IClaimsPrincipal Authenticate(string resourceName, IClaimsPrincipal incomingPrincipal)
        {
            if (!incomingPrincipal.Identity.IsAuthenticated)
            {
                return(base.Authenticate(resourceName, incomingPrincipal));
            }


            //Add permission claimes to identity

            if (SessionManager.User != null)
            {
                using (ConfigurationCoordinator coordinator = new ConfigurationCoordinator(false, false))
                {
                    //SessionManager.VolatileElements.ClientCommand = "GetConfiguration";
                    var profile = coordinator.GetConfiguration("permissions.profiles." + SessionManager.User.PermissionProfile);

                    foreach (var permission in profile.Root.Element("configValue").Element("profile").Element("permissions").Elements("permission"))
                    {
                        var claim = new Claim(FractusClaimTypes.Permission, permission.Attribute("key").Value);
                        incomingPrincipal.Identities[0].Claims.Add(claim);
                    }
                }
            }

            return(incomingPrincipal);
        }
Пример #2
0
        private void LoadUrl()
        {
            using (ConfigurationCoordinator c = new ConfigurationCoordinator())
            {
                ICollection <Configuration> col = ConfigurationMapper.Instance.GetConfiguration(null,
                                                                                                "accounting.exportService.address", "accounting.export.externalSystemName", "accounting.export.xmlWrapperTemplate", "system.taskManagerRequestTimeout", "system.taskManagerSqlCommandTimeout");

                foreach (Configuration conf in col)
                {
                    if (conf.Key == "accounting.exportService.address")
                    {
                        this.exportServiceUrl = conf.Value.Value;
                    }
                    else if (conf.Key == "accounting.export.externalSystemName")
                    {
                        this.externalSystemName = conf.Value.Value;
                    }
                    else if (conf.Key == "accounting.export.xmlWrapperTemplate")
                    {
                        this.xmlWrapperTemplate = conf.Value.Value;
                    }
                    else if (conf.Key == "system.taskManagerRequestTimeout")
                    {
                        this.requestTimeout = Convert.ToInt32(conf.Value.Value, CultureInfo.InvariantCulture);
                    }
                    else if (conf.Key == "system.taskManagerSqlCommandTimeout")
                    {
                        this.sqlCommandTimeout = Convert.ToInt32(conf.Value.Value, CultureInfo.InvariantCulture);
                    }
                }
            }
        }
Пример #3
0
 /// <summary>
 /// Initializes plugin.
 /// </summary>
 /// <param name="pluginPhase">Coordinator plugin phase.</param>
 /// <param name="coordinator">ConfigurationCoordinator to attach the plugin.</param>
 /// <param name="businessObject">Configuration business object.</param>
 public static void Initialize(CoordinatorPluginPhase pluginPhase, ConfigurationCoordinator coordinator, Configuration businessObject)
 {
     if (pluginPhase == CoordinatorPluginPhase.SaveObject)
     {
         if (businessObject.Key.StartsWith("templates.", StringComparison.Ordinal))
         {
             coordinator.Plugins.Add(new ConfigurationRefreshPlugin());
         }
     }
 }
        /// <summary>
        /// Initializes plugin.
        /// </summary>
        /// <param name="pluginPhase">Coordinator plugin phase.</param>
        /// <param name="coordinator">ConfigurationCoordinator to attach the plugin.</param>
        /// <param name="businessObject">Configuration business object.</param>
        public static void Initialize(CoordinatorPluginPhase pluginPhase, ConfigurationCoordinator coordinator, Configuration businessObject)
        {
            if (pluginPhase != CoordinatorPluginPhase.SaveObject)
            {
                return;
            }

            if (businessObject.Key == "contractors.group" || businessObject.Key == "items.group")
            {
                coordinator.Plugins.Add(new ContractorsGroupDefinitionPlugin(businessObject));
            }
        }
Пример #5
0
        /// <summary>
        /// Gets the validation schemas used in comunication package validation.
        /// </summary>
        /// <returns>Collection of validation schemas.</returns>
        public IDictionary <string, System.Xml.Schema.XmlSchemaSet> GetValidationSchemas()
        {
            Dictionary <string, XmlSchemaSet> schemasColl = new Dictionary <string, XmlSchemaSet>();
            XmlSchemaSet schemaSet = new XmlSchemaSet();
            XDocument    schemas   = null;

            using (IConnectionWrapper wrapper = dbManager.SynchronizeConnection())
            {
                Makolab.Fractus.Kernel.Managers.SqlConnectionManager.Instance.SetConnection(wrapper.Connection, null);
                bool logOut = false;
                if (KernelSessionManager.IsLogged == false)
                {
                    Makolab.Fractus.Kernel.Managers.SecurityManager.Instance.LogOn("xxx", "CD2EB0837C9B4C962C22D2FF8B5441B7B45805887F051D39BF133B583BAF6860", "pl", null);
                    KernelSessionManager.IsLogged = true;
                    logOut = true;
                    Makolab.Fractus.Kernel.Managers.SessionManager.VolatileElements.LocalTransactionId    = Guid.NewGuid();
                    Makolab.Fractus.Kernel.Managers.SessionManager.VolatileElements.DeferredTransactionId = Guid.NewGuid();
                }
                ConfigurationCoordinator confCoord = new ConfigurationCoordinator();
                schemas = confCoord.GetConfiguration("communication.validation.schema");
                if (logOut)
                {
                    Makolab.Fractus.Kernel.Managers.SecurityManager.Instance.LogOff();
                    KernelSessionManager.IsLogged = false;
                }
            }

            if (schemas == null)
            {
                throw new ConfigurationErrorsException("communication.validation.schema element is not defined in configuration.");
            }

            foreach (var schema in schemas.Root.Elements("validationSchama"))
            {
                XmlSchema contrSchema = XmlSchema.Read(new StringReader(schema.Value), null);
                schemaSet.Add(contrSchema);
                schemasColl.Add(schema.Attribute("xmlType").Value, schemaSet);
            }

            return(schemasColl);
        }