Skip to content

Commit

Permalink
Files: additional logging
Browse files Browse the repository at this point in the history
  • Loading branch information
NikolayRechkin committed Sep 27, 2024
1 parent cd59791 commit cf18445
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 4 deletions.
6 changes: 4 additions & 2 deletions products/ASC.Files/Core/Core/Security/ExternalShare.cs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,8 @@ public class ExternalShare(Global global,
IHttpContextAccessor httpContextAccessor,
BaseCommonLinkUtility commonLinkUtility,
FilesLinkUtility filesLinkUtility,
FileUtility fileUtility)
FileUtility fileUtility,
ILogger<ExternalShare> logger)
{
private ExternalSessionSnapshot _snapshot;
private string _dbKey;
Expand Down Expand Up @@ -121,8 +122,9 @@ public async Task<Status> ValidateRecordAsync<T>(FileShareRecord<T> record, stri
if (string.IsNullOrEmpty(passwordKey))
{
passwordKey = cookiesManager.GetCookies(CookiesType.ShareLink, record.Subject.ToString(), true);
logger.LogDebug("Validate record. cookies password key {passwordKey}", passwordKey);
}

logger.LogDebug("Validate record. password key {passwordKey} record password {recordPassword}", passwordKey, record.Options.Password);
if (passwordKey == record.Options.Password)
{
return Status.Ok;
Expand Down
10 changes: 8 additions & 2 deletions products/ASC.Files/Core/Helpers/ExternalLinkHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@
namespace ASC.Files.Core.Helpers;

[Scope]
public class ExternalLinkHelper(ExternalShare externalShare, SecurityContext securityContext, IDaoFactory daoFactory, UserManager userManager, FileSecurity fileSecurity)
public class ExternalLinkHelper(ExternalShare externalShare, SecurityContext securityContext, IDaoFactory daoFactory, UserManager userManager, FileSecurity fileSecurity, ILogger<ExternalLinkHelper> logger)
{
public async Task<ValidationInfo> ValidateAsync(string key, string password = null, string fileId = null)
{
Expand All @@ -45,6 +45,7 @@ public async Task<ValidationInfo> ValidateAsync(string key, string password = nu
var record = await securityDao.GetSharesAsync(new[] { linkId }).FirstOrDefaultAsync();
if (record == null)
{
logger.LogDebug(" 1. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

Expand All @@ -53,6 +54,7 @@ public async Task<ValidationInfo> ValidateAsync(string key, string password = nu

if (status != Status.Ok && status != Status.RequiredPassword)
{
logger.LogDebug(" 2. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

Expand All @@ -77,11 +79,13 @@ public async Task<ValidationInfo> ValidateAsync(string key, string password = nu
if (entry == null || entry.RootFolderType is FolderType.TRASH or FolderType.Archive)
{
result.Status = Status.Invalid;
logger.LogDebug(" 3. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

if (status == Status.RequiredPassword)
{
logger.LogDebug(" 4. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

Expand Down Expand Up @@ -110,11 +114,13 @@ public async Task<ValidationInfo> ValidateAsync(string key, string password = nu

if (securityContext.IsAuthenticated || !string.IsNullOrEmpty(externalShare.GetAnonymousSessionKey()))
{
logger.LogDebug(" 5. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

await externalShare.SetAnonymousSessionKeyAsync();


logger.LogDebug(" 6. Result Validate External Link: {result}. File id: {fileId}. Record: {record}", JsonSerializer.Serialize(result), fileId, JsonSerializer.Serialize(record));
return result;
}

Expand Down

0 comments on commit cf18445

Please sign in to comment.