public TenantAuditSettings GetAuditSettings() { if (!SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); return(TenantAuditSettings.LoadForTenant(TenantProvider.CurrentTenantID)); }
public IEnumerable <AuditEventWrapper> GetLastAuditEvents() { if (!SetupInfo.IsVisibleSettings(ManagementType.AuditTrail.ToString())) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); return(AuditEventsRepository.GetLast(TenantProvider.CurrentTenantID, 20).Select(x => new AuditEventWrapper(x))); }
public EncryptionLoginProvider( SecurityContext securityContext, Signature signature, InstanceCrypto instanceCrypto, IOptionsSnapshot <AccountLinker> snapshot) { SecurityContext = securityContext; Signature = signature; InstanceCrypto = instanceCrypto; Snapshot = snapshot; }
[Create(@"", false)]//NOTE: this method doesn't requires auth!!! public AuthenticationTokenData AuthenticateMe(string userName, string password) { userName.ThrowIfNull(new ArgumentException("userName empty", "userName")); password.ThrowIfNull(new ArgumentException("password empty", "password")); var token = SecurityContext.AuthenticateMe(userName, password); if (string.IsNullOrEmpty(token)) { throw new AuthenticationException("User authentication failed"); } return(new AuthenticationTokenData() { Expires = new ApiDateTime(DateTime.UtcNow.AddYears(1)), Token = token }); }
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 TenantAuditSettings SetAuditSettings(TenantAuditSettings settings) { if (!TenantExtra.GetTenantQuota().Audit || !SetupInfo.IsVisibleSettings(ManagementType.LoginHistory.ToString())) { throw new BillingException(Resource.ErrorNotAllowedOption, "Audit"); } SecurityContext.DemandPermissions(SecutiryConstants.EditPortalSettings); if (settings.LoginHistoryLifeTime <= 0 || settings.LoginHistoryLifeTime > TenantAuditSettings.MaxLifeTime) { throw new ArgumentException("LoginHistoryLifeTime"); } if (settings.AuditTrailLifeTime <= 0 || settings.AuditTrailLifeTime > TenantAuditSettings.MaxLifeTime) { throw new ArgumentException("AuditTrailLifeTime"); } settings.SaveForTenant(TenantProvider.CurrentTenantID); MessageService.Send(Request, MessageAction.AuditSettingsUpdated); return(settings); }
public VoIPController(CrmSecurity crmSecurity, DaoFactory daoFactory, Global global, ContactPhotoManager contactPhotoManager, StorageFactory storageFactory, CommonLinkUtility commonLinkUtility, SecurityContext securityContext, TenantUtil tenantUtil, VoipEngine voipEngine, ApiContext apiContext, SignalrServiceClient signalrServiceClient, IMapper mapper) : base(daoFactory, crmSecurity, mapper) { _global = global; _contactPhotoManager = contactPhotoManager; _storageFactory = storageFactory; _commonLinkUtility = commonLinkUtility; _securityContext = securityContext; _tenantUtil = tenantUtil; _voipEngine = voipEngine; _apiContext = apiContext; _signalrServiceClient = signalrServiceClient; }