Esempio n. 1
0
        public override void PreInitialize()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);

            //TODO: Consider to change order of Uow and Auth interceptors..?
            UnitOfWorkRegistrar.Initialize(IocManager);
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            _auditingInterceptorRegistrar = new AuditingInterceptorRegistrar(IocManager.Resolve <IAuditingConfiguration>(), IocManager);
            _auditingInterceptorRegistrar.Initialize();

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Settings.Providers.Add <EmailSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);
        }
        public override void PreInitialize()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);
            FeatureInterceptorRegistrar.Initialize(IocManager);
            AuditingInterceptorRegistrar.Initialize(IocManager);
            UnitOfWorkRegistrar.Initialize(IocManager);
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            Configuration.Settings.Providers.Add <LocalizationSettingProvider>();
            Configuration.Settings.Providers.Add <EmailSettingProvider>();
            Configuration.Settings.Providers.Add <NotificationSettingProvider>();
            Configuration.Settings.Providers.Add <TimingSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);

            ConfigureCaches();
        }
Esempio n. 3
0
 private void AddInterceptorRegistrars()
 {
     ValidationInterceptorRegistrar.Initialize(IocManager);
     AuditingInterceptorRegistrar.Initialize(IocManager);
     UnitOfWorkRegistrar.Initialize(IocManager);
     AuthorizationInterceptorRegistrar.Initialize(IocManager);
 }
Esempio n. 4
0
    public virtual bool ShouldSaveAudit(MethodInfo methodInfo, bool defaultValue = false)
    {
        if (methodInfo == null)
        {
            return(false);
        }

        if (!methodInfo.IsPublic)
        {
            return(false);
        }

        if (methodInfo.IsDefined(typeof(AuditedAttribute), true))
        {
            return(true);
        }

        if (methodInfo.IsDefined(typeof(DisableAuditingAttribute), true))
        {
            return(false);
        }

        var classType = methodInfo.DeclaringType;

        if (classType != null)
        {
            var shouldAudit = AuditingInterceptorRegistrar.ShouldAuditTypeByDefaultOrNull(classType);
            if (shouldAudit != null)
            {
                return(shouldAudit.Value);
            }
        }

        return(defaultValue);
    }
        private void AddInterceptorRegistrars(
            AbpBootstrapperInterceptorOptions options)
        {
            if (!options.DisableValidationInterceptor)
            {
                ValidationInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableAuditingInterceptor)
            {
                AuditingInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableEntityHistoryInterceptor)
            {
                EntityHistoryInterceptorRegistrar.Initialize(IocManager);
            }

            if (!options.DisableUnitOfWorkInterceptor)
            {
                UnitOfWorkRegistrar.Initialize(IocManager);
            }

            if (!options.DisableAuthorizationInterceptor)
            {
                AuthorizationInterceptorRegistrar.Initialize(IocManager);
            }
        }
Esempio n. 6
0
        public override void PreInitialize <TTenantId, TUserId>()
        {
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            ValidationInterceptorRegistrar.Initialize(IocManager);

            //TODO: Consider to change order of Uow and Auth interceptors..?
            UnitOfWorkRegistrar.Initialize <TTenantId, TUserId>(IocManager);
            AuthorizationInterceptorRegistrar <TTenantId, TUserId> .Initialize(IocManager);

            _auditingInterceptorRegistrar = new AuditingInterceptorRegistrar(IocManager.Resolve <IAuditingConfiguration>(), IocManager);
            _auditingInterceptorRegistrar.Initialize <TTenantId, TUserId>();

            Configuration.Auditing.Selectors.Add(
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            Configuration.Settings.Providers.Add <EmailSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);
        }
        public override void PreInitialize()
        {
            AuditingInterceptorRegistrar.Initialize(IocManager);

            //TODO it should be move to more early first Config, but it is belong to Adp
            IocManager.IocContainer.Kernel.Resolver.AddSubResolver(new CollectionResolver(IocManager.IocContainer.Kernel));

            Configuration.Auditing.IsEnabled = true;
            Configuration.Auditing.IsEnabledForAnonymousUsers = true;
            //            IocManager.Register<WindsorInstanceProvier,WindsorInstanceProvier>();
            //
            //            var iocProvider = IocManager.Resolve<WindsorInstanceProvier>(IocManager);
            //            iocProvider.RegisterKernelCompoentEvnet();
        }
Esempio n. 8
0
        /// <summary>
        /// 这是应用启动调用的第一个事件,这里面的代码,会在依赖注入注册之前运行
        /// </summary>
        public override void PreInitialize()
        {
            //注册基本的约定注册器
            IocManager.AddConventionalRegistrar(new BasicConventionalRegistrar());

            //注册IScopedIocResolver
            IocManager.Register <IScopedIocResolver, ScopedIocResolver>(DependencyLifeStyle.Transient);

            //初始化验证拦截器
            ValidationInterceptorRegistrar.Initialize(IocManager);

            //初始化审计拦截器
            AuditingInterceptorRegistrar.Initialize(IocManager);

            //工作单元拦截器初始化
            UnitOfWorkRegistrar.Initialize(IocManager);

            //授权拦截器拦截器
            AuthorizationInterceptorRegistrar.Initialize(IocManager);

            //添加审计的选择器
            Configuration.Auditing.Selectors.Add(
                //应用服务(IApplicationService)需要记录审计日志
                new NamedTypeSelector(
                    "Abp.ApplicationServices",
                    type => typeof(IApplicationService).IsAssignableFrom(type)
                    )
                );

            Configuration.Localization.Sources.Add(
                new DictionaryBasedLocalizationSource(
                    AbpConsts.LocalizationSourceName,
                    new XmlEmbeddedFileLocalizationDictionaryProvider(
                        Assembly.GetExecutingAssembly(), "Abp.Localization.Sources.AbpXmlSource"
                        )));

            //添加本地化源
            Configuration.Settings.Providers.Add <LocalizationSettingProvider>();
            //添加邮件设置服务
            Configuration.Settings.Providers.Add <EmailSettingProvider>();
            Configuration.Settings.Providers.Add <NotificationSettingProvider>();
            Configuration.Settings.Providers.Add <TimingSettingProvider>();

            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.SoftDelete, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MustHaveTenant, true);
            Configuration.UnitOfWork.RegisterFilter(AbpDataFilters.MayHaveTenant, true);

            ConfigureCaches();
            AddIgnoredTypes();
        }
        private bool ShouldSaveAudit(ActionExecutingContext context, out AuditLogInfo auditLog, out AuditLogActionInfo auditLogAction)
        {
            auditLog       = null;
            auditLogAction = null;

            if (!Options.IsEnabled)
            {
                return(false);
            }

            if (!context.ActionDescriptor.IsControllerAction())
            {
                return(false);
            }

            var auditLogScope = _auditingManager.Current;

            if (auditLogScope == null)
            {
                return(false);
            }

            if (!_auditingHelper.ShouldSaveAudit(context.ActionDescriptor.GetMethodInfo(), true))
            {
                return(false);
            }

            //TODO: This is partially duplication of AuditHelper.ShouldSaveAudit method. Check why it does not work for controllers
            if (!AuditingInterceptorRegistrar.ShouldAuditTypeByDefault(context.Controller.GetType()))
            {
                return(false);
            }

            auditLog       = auditLogScope.Log;
            auditLogAction = _auditingHelper.CreateAuditLogAction(
                auditLog,
                context.ActionDescriptor.AsControllerActionDescriptor().ControllerTypeInfo.AsType(),
                context.ActionDescriptor.AsControllerActionDescriptor().MethodInfo,
                context.ActionArguments
                );

            return(true);
        }
Esempio n. 10
0
 private void AddInterceptorRegistrars()
 {
     AuditingInterceptorRegistrar.Initialize(IocManager);
 }
 private void AddInterceptorRegistrars()
 {
     AuditingInterceptorRegistrar.Initialize(IocManager);
     EntityHistoryInterceptorRegistrar.Initialize(IocManager);
     //UnitOfWorkRegistrar.Initialize(IocManager);
 }