Files: fix
This commit is contained in:
parent
693e35ac57
commit
89df700fb1
@ -48,7 +48,7 @@ namespace ASC.Core.Notify.Signalr
|
||||
{
|
||||
internal TenantManager TenantManager { get; }
|
||||
internal CoreSettings CoreSettings { get; }
|
||||
public MachinePseudoKeys MachinePseudoKeys { get; }
|
||||
internal MachinePseudoKeys MachinePseudoKeys { get; }
|
||||
internal IConfiguration Configuration { get; }
|
||||
internal IOptionsMonitor<ILog> Options { get; }
|
||||
|
||||
@ -405,7 +405,8 @@ namespace ASC.Core.Notify.Signalr
|
||||
|
||||
return services
|
||||
.AddTenantManagerService()
|
||||
.AddCoreSettingsService();
|
||||
.AddCoreSettingsService()
|
||||
.AddMachinePseudoKeysService();
|
||||
}
|
||||
|
||||
return services;
|
||||
|
@ -263,12 +263,17 @@ namespace ASC.Security.Cryptography
|
||||
public static class EmailValidationKeyProviderExtension
|
||||
{
|
||||
public static DIHelper AddEmailValidationKeyProviderService(this DIHelper services)
|
||||
{
|
||||
services.TryAddTransient<EmailValidationKeyModel>();
|
||||
services.TryAddScoped<EmailValidationKeyProvider>();
|
||||
|
||||
return services
|
||||
.AddTenantManagerService();
|
||||
{
|
||||
if (services.TryAddScoped<EmailValidationKeyProvider>())
|
||||
{
|
||||
services.TryAddTransient<EmailValidationKeyModel>();
|
||||
|
||||
return services
|
||||
.AddTenantManagerService()
|
||||
.AddMachinePseudoKeysService();
|
||||
}
|
||||
|
||||
return services;
|
||||
}
|
||||
}
|
||||
}
|
@ -39,29 +39,26 @@ namespace ASC.Web.Files.Core.Entries
|
||||
public Guid UserId { get; set; }
|
||||
}
|
||||
|
||||
public class EncryptionKeyPairHelper<T>
|
||||
public class EncryptionKeyPairHelper
|
||||
{
|
||||
private UserManager UserManager { get; }
|
||||
private AuthContext AuthContext { get; }
|
||||
private EncryptionLoginProvider EncryptionLoginProvider { get; }
|
||||
private FileSecurity FileSecurity { get; }
|
||||
private IDaoFactory DaoFactory { get; }
|
||||
private FileStorageService<T> FileStorageService { get; }
|
||||
|
||||
public EncryptionKeyPairHelper(
|
||||
UserManager userManager,
|
||||
AuthContext authContext,
|
||||
EncryptionLoginProvider encryptionLoginProvider,
|
||||
FileSecurity fileSecurity,
|
||||
IDaoFactory daoFactory,
|
||||
FileStorageService<T> fileStorageService)
|
||||
IDaoFactory daoFactory)
|
||||
{
|
||||
UserManager = userManager;
|
||||
AuthContext = authContext;
|
||||
EncryptionLoginProvider = encryptionLoginProvider;
|
||||
FileSecurity = fileSecurity;
|
||||
DaoFactory = daoFactory;
|
||||
FileStorageService = fileStorageService;
|
||||
}
|
||||
|
||||
public void SetKeyPair(string publicKey, string privateKeyEnc)
|
||||
@ -93,7 +90,7 @@ namespace ASC.Web.Files.Core.Entries
|
||||
return keyPair;
|
||||
}
|
||||
|
||||
public IEnumerable<EncryptionKeyPair> GetKeyPair(T fileId)
|
||||
public IEnumerable<EncryptionKeyPair> GetKeyPair<T>(T fileId, FileStorageService<T> FileStorageService)
|
||||
{
|
||||
var fileDao = DaoFactory.GetFileDao<T>();
|
||||
|
||||
@ -131,16 +128,14 @@ namespace ASC.Web.Files.Core.Entries
|
||||
{
|
||||
public static DIHelper AddEncryptionKeyPairHelperService(this DIHelper services)
|
||||
{
|
||||
if (services.TryAddScoped<EncryptionKeyPairHelper<string>>())
|
||||
if (services.TryAddScoped<EncryptionKeyPairHelper>())
|
||||
{
|
||||
services.TryAddScoped<EncryptionKeyPairHelper<int>>();
|
||||
services
|
||||
.AddAuthContextService()
|
||||
.AddUserManagerService()
|
||||
.AddEncryptionLoginProviderService()
|
||||
.AddFileSecurityService()
|
||||
.AddDaoFactoryService()
|
||||
.AddFileStorageService();
|
||||
.AddDaoFactoryService();
|
||||
}
|
||||
|
||||
return services;
|
||||
|
@ -121,7 +121,7 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
private FileSharingAceHelper<T> FileSharingAceHelper { get; }
|
||||
private ApiContext ApiContext { get; }
|
||||
private ConsumerFactory ConsumerFactory { get; }
|
||||
public EncryptionKeyPairHelper<T> EncryptionKeyPairHelper { get; }
|
||||
public EncryptionKeyPairHelper EncryptionKeyPairHelper { get; }
|
||||
public SettingsManager SettingsManager { get; }
|
||||
public ILog Logger { get; set; }
|
||||
|
||||
@ -165,7 +165,7 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
FileSharingAceHelper<T> fileSharingAceHelper,
|
||||
ApiContext apiContext,
|
||||
ConsumerFactory consumerFactory,
|
||||
EncryptionKeyPairHelper<T> encryptionKeyPairHelper,
|
||||
EncryptionKeyPairHelper encryptionKeyPairHelper,
|
||||
SettingsManager settingsManager)
|
||||
{
|
||||
Global = global;
|
||||
@ -1994,7 +1994,7 @@ namespace ASC.Web.Files.Services.WCFService
|
||||
{
|
||||
ErrorIf(!PrivacyRoomSettings.GetEnabled(SettingsManager), FilesCommonResource.ErrorMassage_SecurityException);
|
||||
|
||||
var fileKeyPair = EncryptionKeyPairHelper.GetKeyPair(fileId);
|
||||
var fileKeyPair = EncryptionKeyPairHelper.GetKeyPair(fileId, this);
|
||||
return new ItemList<EncryptionKeyPair>(fileKeyPair);
|
||||
}
|
||||
|
||||
|
@ -27,6 +27,7 @@ using ASC.MessagingSystem;
|
||||
using ASC.Web.Api.Routing;
|
||||
using ASC.Web.Core.PublicResources;
|
||||
using ASC.Web.Files.Core.Entries;
|
||||
using ASC.Web.Files.Services.WCFService;
|
||||
using ASC.Web.Studio.Core;
|
||||
|
||||
using Microsoft.AspNetCore.Mvc;
|
||||
@ -42,9 +43,10 @@ namespace ASC.Api.Documents
|
||||
private PermissionContext PermissionContext { get; }
|
||||
private SettingsManager SettingsManager { get; }
|
||||
private TenantManager TenantManager { get; }
|
||||
private EncryptionKeyPairHelper<int> EncryptionKeyPairHelperInt { get; }
|
||||
public EncryptionKeyPairHelper<string> EncryptionKeyPairHelper { get; }
|
||||
public MessageService MessageService { get; }
|
||||
private EncryptionKeyPairHelper EncryptionKeyPairHelper { get; }
|
||||
private FileStorageService<int> FileStorageServiceInt { get; }
|
||||
private FileStorageService<string> FileStorageService { get; }
|
||||
private MessageService MessageService { get; }
|
||||
private ILog Log { get; }
|
||||
|
||||
public PrivacyRoomApi(
|
||||
@ -52,8 +54,9 @@ namespace ASC.Api.Documents
|
||||
PermissionContext permissionContext,
|
||||
SettingsManager settingsManager,
|
||||
TenantManager tenantManager,
|
||||
EncryptionKeyPairHelper<int> encryptionKeyPairHelperint,
|
||||
EncryptionKeyPairHelper<string> encryptionKeyPairHelper,
|
||||
EncryptionKeyPairHelper encryptionKeyPairHelper,
|
||||
FileStorageService<int> fileStorageServiceInt,
|
||||
FileStorageService<string> fileStorageService,
|
||||
MessageService messageService,
|
||||
IOptionsMonitor<ILog> option)
|
||||
{
|
||||
@ -61,8 +64,9 @@ namespace ASC.Api.Documents
|
||||
PermissionContext = permissionContext;
|
||||
SettingsManager = settingsManager;
|
||||
TenantManager = tenantManager;
|
||||
EncryptionKeyPairHelperInt = encryptionKeyPairHelperint;
|
||||
EncryptionKeyPairHelper = encryptionKeyPairHelper;
|
||||
FileStorageServiceInt = fileStorageServiceInt;
|
||||
FileStorageService = fileStorageService;
|
||||
MessageService = messageService;
|
||||
Log = option.Get("ASC.Api.Documents");
|
||||
}
|
||||
@ -106,8 +110,7 @@ namespace ASC.Api.Documents
|
||||
{
|
||||
if (!PrivacyRoomSettings.GetEnabled(SettingsManager)) throw new System.Security.SecurityException();
|
||||
|
||||
var fileKeyPair = EncryptionKeyPairHelper.GetKeyPair(fileId);
|
||||
return fileKeyPair;
|
||||
return EncryptionKeyPairHelper.GetKeyPair(fileId, FileStorageService);
|
||||
}
|
||||
|
||||
[Read("access/{fileId:int}")]
|
||||
@ -115,8 +118,7 @@ namespace ASC.Api.Documents
|
||||
{
|
||||
if (!PrivacyRoomSettings.GetEnabled(SettingsManager)) throw new System.Security.SecurityException();
|
||||
|
||||
var fileKeyPair = EncryptionKeyPairHelperInt.GetKeyPair(fileId);
|
||||
return fileKeyPair;
|
||||
return EncryptionKeyPairHelper.GetKeyPair(fileId, FileStorageServiceInt);
|
||||
}
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user