示例#1
0
        public static DbLogger CreateDocumentLogger(this DbLoggerProvider logger, IDocument document)
        {
            var category = document.GetType().Name;
            var resource = document.DocumentId;

            return(logger.CreateLogger(category, resource));
        }
示例#2
0
        public static async Task LogDocumentShareMessageAsync(this DbLoggerProvider logger, string eventName, IDocument document, string ownerId, string userId)
        {
            var log     = logger.CreateDocumentLogger(document);
            var message = $"Document '{document.Title}'({document.DocumentId}) shared with user '{userId}'.";

            await Task.Run(() => log.Log(LogLevel.Information, new EventId(1, eventName), message, null, null));
        }
示例#3
0
 public LibraryDataController(
     IFolderManager <FileDocument> folderManager,
     IDocumentService <FileDocument> documentService,
     IOptions <DriveOptions> driveOptions,
     TagManager tagManager,
     DbLoggerProvider log,
     DbLogService logFetcher,
     ILogger <LibraryDataController> logger,
     ResourceManager resourceManager,
     FileFolderBrowser fileFolderBrowser,
     IAuthorizationService authorizationService,
     IContextAccessor <AdminContext> adminContextAccessor,
     IContextAccessor <SiteContext> siteContextAccessor) : base(logger)
 {
     _folderManager        = folderManager;
     _documentService      = documentService;
     _driveOptions         = driveOptions.Value;
     _tagManager           = tagManager;
     _log                  = log;
     _logFetcher           = logFetcher;
     _resourceManager      = resourceManager;
     _fileFolderBrowser    = fileFolderBrowser;
     _authorizationService = authorizationService;
     _adminContext         = adminContextAccessor.GetContext();
     _siteContext          = siteContextAccessor.GetContext();
 }
示例#4
0
        public DocumentDetails(IFolderManager <FileDocument> folderManager,
                               IDocumentService <FileDocument> documentService,
                               IOptions <DriveOptions> driveOptions,
                               UserManager userManager,
                               DbLoggerProvider log)
        {
            Ensure.NotNull(folderManager);
            Ensure.NotNull(documentService);
            Ensure.NotNull(driveOptions);

            this._folderManager   = folderManager;
            this._documentService = documentService;
            this._driveOptions    = driveOptions.Value;
            this._log             = log;
            _userManager          = userManager;
        }
 public DocumentPickerController(
     IFolderManager <FileDocument> folderManager,
     IDocumentService <FileDocument> documentService,
     IOptions <DriveOptions> driveOptions,
     TagManager tagManager,
     DbLoggerProvider log,
     DbLogService logFetcher,
     ILogger <DocumentPickerController> logger) : base()
 {
     _folderManager   = folderManager;
     _documentService = documentService;
     _driveOptions    = driveOptions.Value;
     _tagManager      = tagManager;
     _log             = log;
     _logFetcher      = logFetcher;
     _logger          = logger;
 }
示例#6
0
        public LibraryManager(
            IFolderManager <FileDocument> folderManager,
            IDocumentService <FileDocument> documentService,
            IDocumentUploadService <FileDocument> uploadService,
            IDocumentThumbnailService <FileDocument> thumbnailService,
            LibraryZipService libraryZipService,
            DbLoggerProvider log,
            DbLogService logFetcher,
            IJobsManager jobsManager,
            TagManager tagManager,
            LibraryIOService libraryIOService,
            IEnumerable <IImagePostProcessor> imageProcessors,
            IHostingEnvironment env)
        {
            Ensure.NotNull(folderManager, $"{nameof(folderManager)} cannot be null.");
            Ensure.NotNull(documentService, $"{nameof(documentService)} cannot be null.");
            Ensure.NotNull(libraryIOService, $"{nameof(libraryIOService)} cannot be null.");
            Ensure.NotNull(uploadService, $"{nameof(uploadService)} cannot be null.");
            Ensure.NotNull(thumbnailService, $"{nameof(thumbnailService)} cannot be null.");
            Ensure.NotNull(libraryZipService, $"{nameof(libraryZipService)} cannot be null.");
            Ensure.NotNull(jobsManager, $"{nameof(jobsManager)} cannot be null.");
            Ensure.NotNull(log, $"{nameof(log)} cannot be null.");
            Ensure.NotNull(tagManager, $"{nameof(tagManager)} cannot be null.");

            _folderManager     = folderManager;
            _documentService   = documentService;
            _libraryIOService  = libraryIOService;
            _uploadService     = uploadService;
            _thumbnailService  = thumbnailService;
            _libraryZipService = libraryZipService;
            _jobs            = jobsManager;
            _log             = log;
            _tagManager      = tagManager;
            _imageProcessors = imageProcessors;
            _env             = env;
        }
示例#7
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IOptions <AegisOptions> aegisOptions, IOptions <ServerOptions> serverOptions, IOptions <RequestLocalizationOptions> l10nOptions, DbLoggerProvider dbLogProvider)
        {
            if (_environment.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
                app.UseDatabaseErrorPage();
            }
            else
            {
                app.UseExceptionHandler("/sys/error");
            }

            // Https Rewriter
            if (serverOptions.Value.UseHttpsRewriter)
            {
                var rewriteOptions = new RewriteOptions().AddRedirectToHttps();
                app.UseRewriter(rewriteOptions);
            }

            // logging
            //_loggerFactory.AddProvider(dbLogProvider);
            _loggerFactory.AddConsole(_configuration.GetSection("Logging"));
            _loggerFactory.AddDebug(LogLevel.Debug);


            // app components
            app.UseSession();
            app.UseMultitenancy <SiteContext>();
            app.UseRequestLocalization(l10nOptions.Value);
            app.UseStaticFiles();
            app.UseKendo(_environment);

            // cookie policy
            app.UseCookiePolicy(new CookiePolicyOptions
            {
                HttpOnly = HttpOnlyPolicy.None,
                Secure   = CookieSecurePolicy.SameAsRequest
            });

            // openid security
            app.UsePerTenant <SiteContext>((ctx, builder) => {
                builder.UseAegisOidc(aegisOptions, ctx.Tenant);
            });

            // Application migrations
            app.RunAppMigrations();

            //validate Client Active Status
            //app.RunActiveClientValidation();

            // configure plugins
            _plugins.Configure(app);

            // configure MVC convention based routes
            app.UseMvc(routes => {
                #region Ajax / Api Services

                //TODO: Cleanup Widget routes. Move behind sys/
                routes.MapRoute(
                    name: "admin",
                    template: "admin/{controller=Dashboard}/{action=Index}/{id?}",
                    defaults: new { area = "Admin" }
                    );

                //TODO: route behind "sys/"
                routes.MapRoute(
                    name: "Ajax Components",
                    template: "components/{type}/{cid?}",
                    defaults: new { controller = "Components", action = "Render" }
                    );

                routes.MapRoute(
                    name: "content",
                    template: "sys/content/{action}",
                    defaults: new { controller = "Content" }
                    );
                #endregion

                #region Back Office Routes

                //TODO: use "sys/account" instead
                routes.MapRoute(
                    name: "User Account",
                    template: "sys/account/{action=profile}",
                    defaults: new { area = "Admin", controller = "Account" }
                    );

                routes.MapRoute(
                    name: "Corp Admin",
                    template: "sys/corp/admin/{action=dashboard}",
                    defaults: new { area = "Admin", controller = "CorpAdmin" }
                    );

                routes.MapRoute(
                    name: "Client Admin",
                    template: "sys/clients/{tenant}/admin/{action=dashboard}",
                    defaults: new { area = "Admin", controller = "ClientAdmin" }
                    );

                routes.MapRoute(
                    name: "Site Admin",
                    template: "sys/sites/{tenant}/admin/{action=dashboard}",
                    defaults: new { area = "Admin", controller = "SiteAdmin" }
                    );

                #endregion

                #region CMS Front End Routes

                routes.MapRoute(
                    name: "Notify Me",
                    template: "sys/notifyme/{action}",
                    defaults: new { area = "Public", controller = "NotifyMeSignUp" }
                    );
                //routes.MapRoute(
                //    name: "Site Alerts",
                //    template: "sys/sitealerts/{action}",
                //    defaults: new { area = "Public", controller = "SiteAlerts" }
                //);
                routes.MapRoute(
                    name: "Search",
                    template: "sys/search/{action}",
                    defaults: new { area = "Public", controller = "Search" }
                    );
                routes.MapRoute(
                    name: "Page Provider by Route",
                    template: "{*route}",
                    defaults: new { area = "Public", controller = "SitePage", action = "RenderRoute", route = "/" }
                    );
                #endregion
            });

            // enable jobs
            app.UseJobs();

            //-----------------------------------------------------------
            // TODO: These need to go away - Convert to IAppMigrations
            // -----------------------------------------------------------
            app.RunStartupActions();
            _plugins.RunStartupActions(app);
        }
示例#8
0
 public DocumentLog(DbLoggerProvider logger)
 {
     _logger = logger;
 }
示例#9
0
 public OpenIdInterceptors(DbLoggerProvider logProvider, IOptions <ServerOptions> serverOptions)
 {
     _logger        = logProvider.CreateLogger("OIDC Events");
     _serverOptions = serverOptions.Value;
 }
示例#10
0
 public static async Task LogEventWriteAsync(this DbLoggerProvider logger, FileDocument document, string ownerId)
 {
     await logger.LogDocumentMessageAsync(WriteEvent, document, ownerId);
 }
示例#11
0
 public static async Task LogEventShareAsync(this DbLoggerProvider logger, FileDocument document, string ownerId, string userId)
 {
     await logger.LogDocumentShareMessageAsync(ShareEvent, document, ownerId, userId);
 }