/// <summary>
        /// Action执行之前执行
        /// </summary>
        /// <param name="filterContext">过滤器上下文</param>
        public void OnActionExecuting(ActionExecutingContext filterContext)
        {
            IOperator  Operator  = AutofacHelper.GetService <IOperator>();
            IBusHelper BusHelper = AutofacHelper.GetService <IBusHelper>();

            var request = filterContext.HttpContext.Request;

            try
            {
                //若为本地测试,则不需要登录
                if (GlobalSwitch.RunModel == RunModel.LocalTest)
                {
                    return;
                }
                //判断是否需要登录
                List <string> attrList  = FilterHelper.GetFilterList(filterContext);
                bool          needLogin = attrList.Contains(typeof(CheckLoginAttribute).FullName) && !attrList.Contains(typeof(IgnoreLoginAttribute).FullName);

                //转到登录
                if (needLogin && !Operator.Logged())
                {
                    RedirectToLogin();
                }
            }
            catch (Exception ex)
            {
                BusHelper.HandleException(ex);
                RedirectToLogin();
            }

            void RedirectToLogin()
            {
                if (request.IsAjaxRequest())
                {
                    filterContext.Result = new ContentResult
                    {
                        Content = new AjaxResult {
                            Success = false, ErrorCode = 1, Msg = "未登录"
                        }.ToJson(),
                        ContentType = "application/json;charset=UTF-8"
                    };
                }
                else
                {
                    UrlHelper urlHelper = new UrlHelper(filterContext);
                    string    loginUrl  = urlHelper.Content("~/Home/Login");
                    string    script    = $@"    
<html>
    <script>
        top.location.href = '{loginUrl}';
    </script>
</html>
";
                    filterContext.Result = new ContentResult {
                        Content = script, ContentType = "text/html"
                    };
                }
            }
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Instantiates a new instance of <see cref="AzureServiceBus{TAuthenticationToken}"/>
 /// </summary>
 protected AzureServiceBus(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, bool isAPublisher)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, isAPublisher)
 {
     AzureBusHelper             = azureBusHelper;
     BusHelper                  = busHelper;
     TelemetryHelper            = new NullTelemetryHelper();
     PrivateServiceBusReceivers = new Dictionary <int, SubscriptionClient>();
     PublicServiceBusReceivers  = new Dictionary <int, SubscriptionClient>();
 }
Ejemplo n.º 3
0
 public AkkaEventBus(IBusHelper busHelper, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IEventPublisher <TAuthenticationToken> eventPublisher, IEventReceiver <TAuthenticationToken> eventReceiver)
 {
     BusHelper = busHelper;
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     Logger         = logger;
     EventPublisher = eventPublisher;
     EventReceiver  = eventReceiver;
 }
Ejemplo n.º 4
0
 protected QueuedCommandBusReceiver(IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IConfigurationManager configurationManager, IBusHelper busHelper)
 {
     QueueTracker              = new ConcurrentDictionary <string, ConcurrentQueue <ICommand <TAuthenticationToken> > >();
     QueueTrackerLock          = new ReaderWriterLockSlim();
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     Logger = logger;
     ConfigurationManager = configurationManager;
     BusHelper            = busHelper;
 }
Ejemplo n.º 5
0
 public AzureBusHelper(IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IBusHelper busHelper, IConfigurationManager configurationManager, IDependencyResolver dependencyResolver)
 {
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     Logger               = logger;
     MessageSerialiser    = messageSerialiser;
     BusHelper            = busHelper;
     DependencyResolver   = dependencyResolver;
     ConfigurationManager = configurationManager;
 }
Ejemplo n.º 6
0
 public InProcessBus(IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, IDependencyResolver dependencyResolver, ILogger logger, IConfigurationManager configurationManager, IBusHelper busHelper)
 {
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     DependencyResolver        = dependencyResolver;
     Logger = logger;
     ConfigurationManager = configurationManager;
     BusHelper            = busHelper;
     EventWaits           = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();
 }
Ejemplo n.º 7
0
 public AkkaCommandBus(IHandlerResolver concurrentEventBusProxy, IBusHelper busHelper, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, IDependencyResolver dependencyResolver, ILogger logger)
 {
     ConcurrentEventBusProxy = concurrentEventBusProxy;
     Logger    = logger;
     BusHelper = busHelper;
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     DependencyResolver        = dependencyResolver;
     EventWaits = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();
 }
Ejemplo n.º 8
0
 public InProcessBus(IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, IDependencyResolver dependencyResolver, ILogger logger, IConfigurationManager configurationManager, IBusHelper busHelper)
 {
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     DependencyResolver        = dependencyResolver;
     Logger = logger;
     ConfigurationManager = configurationManager;
     BusHelper            = busHelper;
     EventWaits           = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();
     TelemetryHelper      = configurationManager.CreateTelemetryHelper("Cqrs.InProcessBus.UseApplicationInsightTelemetryHelper", correlationIdHelper);
 }
Ejemplo n.º 9
0
 public AkkaCommandBus(IBusHelper busHelper, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, IDependencyResolver dependencyResolver, ILogger logger, ICommandPublisher <TAuthenticationToken> commandPublisher, ICommandReceiver <TAuthenticationToken> commandReceiver)
 {
     Logger    = logger;
     BusHelper = busHelper;
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     DependencyResolver        = dependencyResolver;
     EventWaits       = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();
     CommandPublisher = commandPublisher;
     CommandReceiver  = commandReceiver;
 }
Ejemplo n.º 10
0
 public AkkaCommandBus(IConfigurationManager configurationManager, IBusHelper busHelper, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, IDependencyResolver dependencyResolver, ILogger logger, IActorRef actorReference, ICommandSender <TAuthenticationToken> commandSender, ICommandReceiver <TAuthenticationToken> commandReceiver)
 {
     ConfigurationManager = configurationManager;
     Logger                    = logger;
     ActorReference            = actorReference;
     CommandSender             = commandSender;
     CommandReceiver           = commandReceiver;
     AuthenticationTokenHelper = authenticationTokenHelper;
     CorrelationIdHelper       = correlationIdHelper;
     DependencyResolver        = dependencyResolver;
     BusHelper                 = busHelper;
     EventWaits                = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();
 }
        public void OnException(ExceptionContext context)
        {
            IBusHelper BusHelper = AutofacHelper.GetService <IBusHelper>();

            var ex = context.Exception;

            BusHelper.HandleException(ex);

            context.Result = new ContentResult
            {
                Content = new AjaxResult {
                    Success = false, Msg = ex.Message
                }.ToJson(),
                ContentType = "application/json; charset=utf-8",
            };
        }
Ejemplo n.º 12
0
        protected AzureBus(IConfigurationManager configurationManager, IBusHelper busHelper, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, bool isAPublisher)
        {
            EventWaits = new ConcurrentDictionary <Guid, IList <IEvent <TAuthenticationToken> > >();

            MessageSerialiser         = messageSerialiser;
            AuthenticationTokenHelper = authenticationTokenHelper;
            CorrelationIdHelper       = correlationIdHelper;
            Logger               = logger;
            BusHelper            = busHelper;
            ConfigurationManager = configurationManager;
            ConnectionString     = ConfigurationManager.GetSetting(MessageBusConnectionStringConfigurationKey);

            if (isAPublisher)
            {
                InstantiatePublishing();
            }
        }
Ejemplo n.º 13
0
        /// <summary>
        /// Instantiates a new instance of <see cref="AzureServiceBus{TAuthenticationToken}"/>
        /// </summary>
        protected AzureServiceBus(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, bool isAPublisher)
            : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, isAPublisher)
        {
            AzureBusHelper                 = azureBusHelper;
            BusHelper                      = busHelper;
            TelemetryHelper                = new NullTelemetryHelper();
            PrivateServiceBusReceivers     = new Dictionary <int, SubscriptionClient>();
            PublicServiceBusReceivers      = new Dictionary <int, SubscriptionClient>();
            TimeoutOnSendRetryMaximumCount = 1;
            string timeoutOnSendRetryMaximumCountValue;
            short  timeoutOnSendRetryMaximumCount;

            if (ConfigurationManager.TryGetSetting("Cqrs.Azure.Servicebus.TimeoutOnSendRetryMaximumCount", out timeoutOnSendRetryMaximumCountValue) && !string.IsNullOrWhiteSpace(timeoutOnSendRetryMaximumCountValue) && short.TryParse(timeoutOnSendRetryMaximumCountValue, out timeoutOnSendRetryMaximumCount))
            {
                TimeoutOnSendRetryMaximumCount = timeoutOnSendRetryMaximumCount;
            }
        }
Ejemplo n.º 14
0
        /// <summary>
        /// Instantiates a new instance of <see cref="AzureServiceBus{TAuthenticationToken}"/>
        /// </summary>
        protected AzureServiceBus(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, IHashAlgorithmFactory hashAlgorithmFactory, bool isAPublisher)
            : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, isAPublisher)
        {
            AzureBusHelper                 = azureBusHelper;
            BusHelper                      = busHelper;
            TelemetryHelper                = new NullTelemetryHelper();
            PrivateServiceBusReceivers     = new Dictionary <int, IMessageReceiver>();
            PublicServiceBusReceivers      = new Dictionary <int, IMessageReceiver>();
            TimeoutOnSendRetryMaximumCount = 1;
            string timeoutOnSendRetryMaximumCountValue;
            short  timeoutOnSendRetryMaximumCount;

            if (ConfigurationManager.TryGetSetting("Cqrs.Azure.Servicebus.TimeoutOnSendRetryMaximumCount", out timeoutOnSendRetryMaximumCountValue) && !string.IsNullOrWhiteSpace(timeoutOnSendRetryMaximumCountValue) && short.TryParse(timeoutOnSendRetryMaximumCountValue, out timeoutOnSendRetryMaximumCount))
            {
                TimeoutOnSendRetryMaximumCount = timeoutOnSendRetryMaximumCount;
            }
            ExclusionNamespaces = new SynchronizedCollection <string> {
                "Cqrs", "System"
            };
            Signer = hashAlgorithmFactory;
        }
Ejemplo n.º 15
0
 public AzureCommandBusReceiver(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, false)
 {
     TelemetryHelper = configurationManager.CreateTelemetryHelper("Cqrs.Azure.CommandBus.Receiver.UseApplicationInsightTelemetryHelper", correlationIdHelper);
 }
Ejemplo n.º 16
0
 public AzureQueuedEventBusReceiver(IConfigurationManager configurationManager, IBusHelper busHelper, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger)
     : base(configurationManager, busHelper, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger)
 {
     QueueTracker     = new ConcurrentDictionary <string, ConcurrentQueue <IEvent <TAuthenticationToken> > >();
     QueueTrackerLock = new ReaderWriterLockSlim();
 }
Ejemplo n.º 17
0
 /// <summary>
 /// Instantiates a new instance of <see cref="AzureCommandBusReceiver{TAuthenticationToken}"/>.
 /// </summary>
 public AzureCommandBusReceiver(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, IHashAlgorithmFactory hashAlgorithmFactory)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, hashAlgorithmFactory, false)
 {
     TelemetryHelper = configurationManager.CreateTelemetryHelper("Cqrs.Azure.CommandBus.Receiver.UseApplicationInsightTelemetryHelper", correlationIdHelper);
     FilterKey       = new Dictionary <string, string>();
 }
Ejemplo n.º 18
0
 /// <summary>
 /// Instantiate a new instance of <see cref="AzureCommandBus{TAuthenticationToken}"/>.
 /// </summary>
 protected AzureCommandBus(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, bool isAPublisher)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, isAPublisher)
 {
 }
Ejemplo n.º 19
0
 /// <summary>
 /// Instantiates a new instance of <see cref="AzureCommandBusPublisher{TAuthenticationToken}"/>.
 /// </summary>
 public AzureCommandBusPublisher(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, IHashAlgorithmFactory hashAlgorithmFactory)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, hashAlgorithmFactory, true)
 {
     TelemetryHelper = configurationManager.CreateTelemetryHelper("Cqrs.Azure.CommandBus.Publisher.UseApplicationInsightTelemetryHelper", correlationIdHelper);
 }
Ejemplo n.º 20
0
 public AzureCommandBusPublisher(IConfigurationManager configurationManager, IBusHelper busHelper, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IDependencyResolver dependencyResolver)
     : base(configurationManager, busHelper, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, true)
 {
     DependencyResolver = dependencyResolver;
 }
Ejemplo n.º 21
0
 /// <summary>
 /// Instantiates a new instance of <see cref="AzureQueuedCommandBusReceiver{TAuthenticationToken}"/>.
 /// </summary>
 public AzureQueuedCommandBusReceiver(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, IHashAlgorithmFactory hashAlgorithmFactory)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, hashAlgorithmFactory)
 {
     QueueTracker     = new ConcurrentDictionary <string, ConcurrentQueue <ICommand <TAuthenticationToken> > >();
     QueueTrackerLock = new ReaderWriterLockSlim();
 }
Ejemplo n.º 22
0
 /// <summary>
 /// Instantiate a new instance of <see cref="AzureEventBus{TAuthenticationToken}"/>.
 /// </summary>
 protected AzureEventBus(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, IHashAlgorithmFactory hashAlgorithmFactory, bool isAPublisher)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, hashAlgorithmFactory, isAPublisher)
 {
 }
Ejemplo n.º 23
0
 public AzureEventBusReceiver(IConfigurationManager configurationManager, IBusHelper busHelper, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger)
     : base(configurationManager, busHelper, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, false)
 {
 }
Ejemplo n.º 24
0
 /// <summary>
 /// Instantiates a new instance of <see cref="AzureEventBusPublisher{TAuthenticationToken}"/>.
 /// </summary>
 public AzureEventBusPublisher(IConfigurationManager configurationManager, IMessageSerialiser <TAuthenticationToken> messageSerialiser, IAuthenticationTokenHelper <TAuthenticationToken> authenticationTokenHelper, ICorrelationIdHelper correlationIdHelper, ILogger logger, IAzureBusHelper <TAuthenticationToken> azureBusHelper, IBusHelper busHelper, ILoggerSettings loggerSettings)
     : base(configurationManager, messageSerialiser, authenticationTokenHelper, correlationIdHelper, logger, azureBusHelper, busHelper, true)
 {
     LoggerSettings  = loggerSettings;
     TelemetryHelper = configurationManager.CreateTelemetryHelper("Cqrs.Azure.EventBus.Publisher.UseApplicationInsightTelemetryHelper", correlationIdHelper);
 }