Ejemplo n.º 1
0
        private static AuthorizationMessageInspector Create_AuthorizationMessageInspector(
            IRequestAuthorizer requestAuthorizer = null,
            IAuthorizationSynchronizer authorizationSynchronizer = null,
            IApplicationRequestContextManager applicationRequestContextManager = null,
            ILogger logger = null)
        {
            if (requestAuthorizer == null)
            {
                requestAuthorizer = new Mock <IRequestAuthorizer>().Object;
            }

            if (authorizationSynchronizer == null)
            {
                authorizationSynchronizer = new Mock <IAuthorizationSynchronizer>().Object;
            }

            if (applicationRequestContextManager == null)
            {
                applicationRequestContextManager = new Mock <IApplicationRequestContextManager>().Object;
            }

            if (logger == null)
            {
                logger = new Mock <ILogger>().Object;
            }

            return(new AuthorizationMessageInspector(requestAuthorizer, authorizationSynchronizer, applicationRequestContextManager, logger));
        }
Ejemplo n.º 2
0
        public AuthorizationMessageInspector(
            IRequestAuthorizer requestAuthorizer,
            IAuthorizationSynchronizer authorizationSynchronizer,
            IApplicationRequestContextManager applicationRequestContextManager,
            ILogger logger
            )
        {
            Ensure.ArgumentNotNull(requestAuthorizer, nameof(requestAuthorizer));
            Ensure.ArgumentNotNull(authorizationSynchronizer, nameof(authorizationSynchronizer));
            Ensure.ArgumentNotNull(applicationRequestContextManager, nameof(applicationRequestContextManager));
            Ensure.ArgumentNotNull(logger, nameof(logger));

            this.requestAuthorizer                = requestAuthorizer;
            this.authorizationSynchronizer        = authorizationSynchronizer;
            this.applicationRequestContextManager = applicationRequestContextManager;
            this.logger = logger;
        }
        public Service(
            ICache cache,
            IAuthorizationSynchronizer authorizationSynchronizer,
            IApplicationRequestContextManager applicationRequestContextManager)
        {
            this.cache = cache;
            this.authorizationSynchronizer        = authorizationSynchronizer;
            this.applicationRequestContextManager = applicationRequestContextManager;

            ICacheWithEvents cacheWithEvents = cache as ICacheWithEvents;

            if (cacheWithEvents != null)
            {
                cacheWithEvents.CacheItemRemoved += (sender, args) =>
                {
                    authorizationSynchronizer.RemoveAuthorizationLock(args.Key);
                };
            }
        }