public IEnumerable <LoginEventWrapper> GetLoginEventsByFilter(Guid userId, MessageAction action, ApiDateTime from, ApiDateTime to) { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); var startIndex = (int)Context.StartIndex; var limit = (int)Context.Count; Context.SetDataPaginated(); action = action == 0 ? MessageAction.None : action; if (!TenantExtra.GetTenantQuota().Audit || !SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { return(GetLastLoginEvents()); } else { DemandAuditPermission(); return(LoginEventsRepository.GetByFilter(userId, action, from, to, startIndex, limit).Select(x => new LoginEventWrapper(x))); } }
public string CreateLoginHistoryReport() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); string fileUrl; var to = DateTime.UtcNow; var from = to.AddMonths(-6); var events = LoginEventsRepository.Get(CurrentTenant, from, to); var reportPath = AuditReportCreator.CreateXlsxReport(events); try { var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".xlsx", from.ToString("MM.dd.yyyy"), to.ToString("MM.dd.yyyy")); using (var stream = new FileStream(reportPath, FileMode.Open)) { var file = FileUploader.Exec(Global.FolderMy.ToString(), reportName, stream.Length, stream, true); fileUrl = FilesLinkUtility.GetFileWebEditorUrl((int)file.ID); } } finally { AuditReportCreator.DeleteReport(reportPath); } MessageService.Send(context, MessageAction.LoginHistoryReportDownloaded); return(fileUrl); }
public IEnumerable <LoginEventWrapper> GetLastLoginEvents() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); DemandBaseAuditPermission(); return(LoginEventsRepository.GetByFilter(startIndex: 0, limit: 20).Select(x => new LoginEventWrapper(x))); }
public IEnumerable <LoginEventWrapper> GetLastLoginEvents() { if (!SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); return(LoginEventsRepository.GetLast(TenantProvider.CurrentTenantID, 20).Select(x => new LoginEventWrapper(x))); }
public IEnumerable <EventWrapper> GetLastLoginEvents() { PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings); if (!SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString()) || CoreBaseSettings.Standalone && !TenantExtra.GetTenantQuota().Audit) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } return(LoginEventsRepository.GetLast(TenantManager.GetCurrentTenant().TenantId, 20).Select(x => new EventWrapper(x))); }
public string CreateLoginHistoryReport() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); DemandAuditPermission(); var tenantId = TenantProvider.CurrentTenantID; var settings = TenantAuditSettings.LoadForTenant(tenantId); var to = DateTime.UtcNow; var from = to.Subtract(TimeSpan.FromDays(settings.LoginHistoryLifeTime)); var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".csv", from.ToShortDateString(), to.ToShortDateString()); var events = LoginEventsRepository.GetByFilter(from: from, to: to); var result = AuditReportCreator.CreateCsvReport(events, reportName); MessageService.Send(Request, MessageAction.LoginHistoryReportDownloaded); return(result); }
public string CreateLoginHistoryReport() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); if (!SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString()) || CoreContext.Configuration.Standalone && !CoreContext.TenantManager.GetTenantQuota(TenantProvider.CurrentTenantID).Audit) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } var to = DateTime.UtcNow; var from = to.AddMonths(-6); var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".csv", from.ToString("MM.dd.yyyy"), to.ToString("MM.dd.yyyy")); var events = LoginEventsRepository.Get(CurrentTenant, from, to); var result = AuditReportCreator.CreateCsvReport(events, reportName); MessageService.Send(Request, MessageAction.LoginHistoryReportDownloaded); return(result); }
public SecurityController( PermissionContext permissionContext, CoreBaseSettings coreBaseSettings, TenantExtra tenantExtra, TenantManager tenantManager, MessageService messageService, LoginEventsRepository loginEventsRepository, AuditEventsRepository auditEventsRepository, AuditReportCreator auditReportCreator, SettingsManager settingsManager) { PermissionContext = permissionContext; CoreBaseSettings = coreBaseSettings; TenantExtra = tenantExtra; TenantManager = tenantManager; MessageService = messageService; LoginEventsRepository = loginEventsRepository; AuditEventsRepository = auditEventsRepository; AuditReportCreator = auditReportCreator; SettingsManager = settingsManager; }
public string CreateLoginHistoryReport() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); var tenantId = TenantProvider.CurrentTenantID; if (!TenantExtra.GetTenantQuota().Audit || !SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } var settings = TenantAuditSettings.LoadForTenant(tenantId); var to = DateTime.UtcNow; var from = to.Subtract(TimeSpan.FromDays(settings.LoginHistoryLifeTime)); var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".csv", from.ToShortDateString(), to.ToShortDateString()); var events = LoginEventsRepository.Get(tenantId, from, to); var result = AuditReportCreator.CreateCsvReport(events, reportName); MessageService.Send(Request, MessageAction.LoginHistoryReportDownloaded); return(result); }
public object CreateLoginHistoryReport() { PermissionContext.DemandPermissions(SecutiryConstants.EditPortalSettings); var tenantId = TenantManager.GetCurrentTenant().TenantId; if (!SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString()) || CoreBaseSettings.Standalone && !TenantExtra.GetTenantQuota().Audit) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } var settings = SettingsManager.LoadForTenant <TenantAuditSettings>(TenantManager.GetCurrentTenant().TenantId); var to = DateTime.UtcNow; var from = to.Subtract(TimeSpan.FromDays(settings.LoginHistoryLifeTime)); var reportName = string.Format(AuditReportResource.LoginHistoryReportName + ".csv", from.ToString("MM.dd.yyyy"), to.ToString("MM.dd.yyyy")); var events = LoginEventsRepository.Get(tenantId, from, to); var result = AuditReportCreator.CreateCsvReport(events, reportName); MessageService.Send(MessageAction.LoginHistoryReportDownloaded); return(result); }
public IEnumerable <LoginEventWrapper> GetLastLoginEvents() { SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); return(LoginEventsRepository.GetLast(CurrentTenant, 20).Select(x => new LoginEventWrapper(x))); }