Пример #1
0
        public ClaimsPrincipalMiddleware(RequestDelegate next, IContainerResolve container, ClaimsPrincipalMiddlewareOption option)
        {
            _next = next ?? throw new ArgumentNullException(nameof(next));

            if (null == container)
            {
                throw new ArgumentNullException(nameof(container));
            }

            if (null == option)
            {
                throw new ArgumentNullException(nameof(option));
            }

            var logger = container.Resolve <ILogger <ClaimsPrincipalMiddleware> >();

            if (!container.TryResolve <CacheContext>(out _cacheContext))
            {
                logger.Technical().Information("No cache context is available.").Log();
            }

            _option = option;

            _activitySource = container.Resolve <IActivitySourceFactory>()?.GetArc4u();
        }
        public static IApplicationBuilder UseCreatePrincipal(this IApplicationBuilder app, IContainerResolve container, ClaimsPrincipalMiddlewareOption option)
        {
            if (null == app)
            {
                throw new ArgumentNullException(nameof(app));
            }

            if (null == container)
            {
                throw new ArgumentNullException(nameof(container));
            }

            if (null == option)
            {
                throw new ArgumentNullException(nameof(option));
            }


            return(app.UseMiddleware <ClaimsPrincipalMiddleware>(container, option));
        }