Пример #1
0
        public SecurityContext(IPermissionScope tenantProvider, IContextUserProvider userProvider, ILogger <TImpl> logger, DbContextOptions <TImpl> options) : base(options)
        {
            this.logger         = logger;
            this.tenantProvider = tenantProvider;
            this.userProvider   = userProvider;
            useFilters          = true;

            /*HideGlobals = true;
             * HideGlobals = false;
             * ShowAllTenants = false;
             * ShowAllTenants = true;*/
            try
            {
                logger.LogDebug($@"SecurityContext initialized. useFilters={useFilters}, CurrentTenant: {tenantProvider?.PermissionPrefix}, ShowAllTenants: {showAllTenants}, HideGlobals: {hideGlobals}");
            }
            catch
            {
            }
        }
Пример #2
0
 public EventsController(IQueryBuilder query, IContextUserProvider contextUserProvider, IRepository<Event> eventRepository)
 {
     this.query = query;
     this.contextUserProvider = contextUserProvider;
     this.eventRepository = eventRepository;
 }
Пример #3
0
 public ParticipateHandler(IRepository <Event> eventRepository, IContextUserProvider contextUserProvider)
 {
     this.eventRepository     = eventRepository;
     this.contextUserProvider = contextUserProvider;
 }
Пример #4
0
 public AspNetSecurityContext(IPermissionScope tenantProvider, IContextUserProvider userProvider,
                              ILogger <AspNetSecurityContext> logger, DbContextOptions <AspNetSecurityContext> options) : base(
         tenantProvider, userProvider, logger, options)
 {
 }
Пример #5
0
 public ChangePasswordHandler(IContextUserProvider contextUserProvider)
 {
     this.contextUserProvider = contextUserProvider;
 }
Пример #6
0
 /// <summary>
 /// Initializes a new instance of the Navigator class
 /// </summary>
 /// <param name="builder">a navigation builder instance that creates the navigation-raw collection</param>
 /// <param name="httpContext">the accessor to retreive the current http-context</param>
 public Navigator(INavigationBuilder builder, IContextUserProvider userProvider)
 {
     this.builder      = builder;
     this.userProvider = userProvider;
 }
Пример #7
0
 public UrlFormatImpl(IContextUserProvider userProvider, IPermissionScope permissionScope)
 {
     this.userProvider    = userProvider;
     this.permissionScope = permissionScope;
 }
 /// <summary>
 /// Initializes a new instance of the BackgroundTaskContext class
 /// </summary>
 /// <param name="services">the serviceprovider for the current Dependency-Scope</param>
 /// <param name="userProvider">information about the user-context that was used to initiate this background call</param>
 public BackgroundTaskContext(IServiceProvider services, IContextUserProvider userProvider)
 {
     this.userProvider = userProvider;
     Services          = services;
 }
 public IdentityFromHttpContextProvider(IHierarchySettings <UserClaimRedirect> redirectSettings, IContextUserProvider userProvider)
 {
     this.redirectSettings = redirectSettings;
     this.userProvider     = userProvider;
 }
Пример #10
0
 public EventsController(IQueryBuilder query, IContextUserProvider contextUserProvider, IRepository <Event> eventRepository)
 {
     this.query = query;
     this.contextUserProvider = contextUserProvider;
     this.eventRepository     = eventRepository;
 }
Пример #11
0
        /// <summary>
        /// Translates the given data to its viewModel and applies Diagnostics queries if available
        /// </summary>
        /// <typeparam name="TOrigin">the original data that was selected from a database</typeparam>
        /// <typeparam name="TViewModel">the target viewmodel on which to translate the data</typeparam>
        /// <param name="services">the services for the current request</param>
        /// <param name="originalItem">the selected data</param>
        /// <param name="queryArguments">provides arguments for a specific record</param>
        /// <returns></returns>
        public static TViewModel DiagnoseResult <TOrigin, TViewModel>(this IServiceProvider services,
                                                                      TOrigin originalItem, IDictionary <string, object> queryArguments,
                                                                      Dictionary <string, DiagnoseQueryHelper.DiagQueryItem> knownQueries,
                                                                      ref DiagnoseQueryHelper.DiagEntityAnlyseItem[] typeAnalysis, Action <TOrigin, TViewModel> postProcess = null)
            where TViewModel : class, new()
            where TOrigin : class

        {
            typeAnalysis ??= DiagnoseQueryHelper.AnalyseViewModel <TViewModel>();
            IContextUserProvider userProvider = services.GetService <IContextUserProvider>();
            string area = null;

            if (userProvider?.RouteData != null)
            {
                var routeData = userProvider.RouteData;
                if (routeData.ContainsKey("area"))
                {
                    area = (string)routeData["area"];
                }
            }

            var ret = originalItem.ToViewModel <TOrigin, TViewModel>(t =>
            {
                if (t == typeof(IServiceProvider))
                {
                    return(services);
                }

                if (t == typeof(DiagnoseQueryOptions))
                {
                    return(new DiagnoseQueryOptions
                    {
                        Area = area,
                        KnownQueries = knownQueries,
                        Arguments = queryArguments
                    });
                }

                return(null);
            }, postProcess);

/*if (typeAnalysis.Length != 0)
 * {
 *              foreach (var p in typeAnalysis)
 *              {
 *                  IWrappedDataSource context = null;
 *                  DiagnosticsQuery qr = null;
 *                  if (knownQueries.ContainsKey(p.Attribute.DiagnosticQueryName))
 *                  {
 *                      var item = knownQueries[p.Attribute.DiagnosticQueryName];
 *                      context = item.Context;
 *                      qr = item.Query;
 *                  }
 *                  else
 *                  {
 *                      context = services.ContextForDiagnosticsQuery(p.Attribute.DiagnosticQueryName, area, out qr);
 *                      knownQueries.Add(p.Attribute.DiagnosticQueryName, new DiagnoseQueryHelper.DiagQueryItem
 *                      {
 *                          Query = qr,
 *                          Context = context
 *                      });
 *                  }
 *
 *                  if (context != null)
 *                  {
 *                      if (p.Property.PropertyType == typeof(SimpleTriStateResult))
 *                      {
 *                          p.Property.SetValue(ret, context.RunDiagnosticsQuery(qr, queryArguments).Cast<SimpleTriStateResult>().FirstOrDefault());
 *                      }
 *                      else
 *                      {
 *                          p.Property.SetValue(ret, context.RunDiagnosticsQuery(qr, queryArguments).Cast<object>().FirstOrDefault());
 *                      }
 *                  }
 *              }
 *
 *              postProcess?.Invoke(originalItem, ret);
 *
 *          }*/

            return(ret);
        }