fix 53348

This commit is contained in:
pavelbannov 2022-02-15 19:30:27 +03:00
parent 73933162d5
commit 697dd5dd39

View File

@ -162,12 +162,11 @@ namespace ASC.Security.Cryptography
public EmployeeType? EmplType { get; set; } public EmployeeType? EmplType { get; set; }
public string Email { get; set; } public string Email { get; set; }
public Guid? UiD { get; set; } public Guid? UiD { get; set; }
public ConfirmType? Type { get; set; } public ConfirmType? Type { get; set; }
public int? P { get; set; }
public void Deconstruct(out string key, out EmployeeType? emplType, out string email, out Guid? uiD, out ConfirmType? type, out int? p) public void Deconstruct(out string key, out EmployeeType? emplType, out string email, out Guid? uiD, out ConfirmType? type)
{ {
(key, emplType, email, uiD, type, p) = (Key, EmplType, Email, UiD, Type, P); (key, emplType, email, uiD, type) = (Key, EmplType, Email, UiD, Type);
} }
} }
@ -208,9 +207,6 @@ namespace ASC.Security.Cryptography
request.TryGetValue("key", out var key); request.TryGetValue("key", out var key);
request.TryGetValue("p", out var pkey);
int.TryParse(pkey, out var p);
request.TryGetValue("emplType", out var emplType); request.TryGetValue("emplType", out var emplType);
Enum.TryParse<EmployeeType>(emplType, out var employeeType); Enum.TryParse<EmployeeType>(emplType, out var employeeType);
@ -223,7 +219,6 @@ namespace ASC.Security.Cryptography
Email = _email, Email = _email,
EmplType = employeeType, EmplType = employeeType,
Key = key, Key = key,
P = p,
Type = cType, Type = cType,
UiD = userId UiD = userId
}; };
@ -231,7 +226,7 @@ namespace ASC.Security.Cryptography
public ValidationResult Validate(EmailValidationKeyModel model) public ValidationResult Validate(EmailValidationKeyModel model)
{ {
var (key, emplType, email, uiD, type, p) = model; var (key, emplType, email, uiD, type) = model;
ValidationResult checkKeyResult; ValidationResult checkKeyResult;
@ -265,12 +260,9 @@ namespace ASC.Security.Cryptography
case ConfirmType.ProfileRemove: case ConfirmType.ProfileRemove:
// validate UiD // validate UiD
if (p == 1) var user = UserManager.GetUsers(uiD.GetValueOrDefault());
{ if (user == null || user.Status == EmployeeStatus.Terminated || AuthContext.IsAuthenticated && AuthContext.CurrentAccount.ID != uiD)
var user = UserManager.GetUsers(uiD.GetValueOrDefault()); return ValidationResult.Invalid;
if (user == null || user.Status == EmployeeStatus.Terminated || AuthContext.IsAuthenticated && AuthContext.CurrentAccount.ID != uiD)
return ValidationResult.Invalid;
}
checkKeyResult = Provider.ValidateEmailKey(email + type + uiD, key, Provider.ValidEmailKeyInterval); checkKeyResult = Provider.ValidateEmailKey(email + type + uiD, key, Provider.ValidEmailKeyInterval);
break; break;