Pārlūkot izejas kodu

PasswordExpiry <= 0 now disables expiration check

Kenric Nugteren 2 gadi atpakaļ
vecāks
revīzija
0523663468
1 mainītis faili ar 6 papildinājumiem un 4 dzēšanām
  1. 6 4
      InABox.Server/RestService.cs

+ 6 - 4
InABox.Server/RestService.cs

@@ -11,6 +11,8 @@ namespace InABox.API
 {
     public class RestService
     {
+        public static bool CheckPasswordExpiration { get; set; } = true;
+
         protected static void GarbageCollection()
         {
             //DateTime now = DateTime.Now;
@@ -155,7 +157,7 @@ namespace InABox.API
                 Logger.Send(LogType.Information, "", $"Login failed!");
                 response.ValidationResult = ValidationResult.INVALID;
             }
-            else if (!request.UsePIN && user.PasswordExpiration > DateTime.MinValue && user.PasswordExpiration < DateTime.Now)
+            else if (CheckPasswordExpiration && !request.UsePIN && user.PasswordExpiration > DateTime.MinValue && user.PasswordExpiration < DateTime.Now)
             {
                 Logger.Send(LogType.Information, user.UserID, $"Password for ({user.UserID}) has expired!");
 
@@ -170,7 +172,7 @@ namespace InABox.API
                 response.UserID = user.UserID;
                 response.SecurityID = user.SecurityGroup.ID;
                 response.Session = request.Credentials.Session;
-                response.PasswordExpiration = user.PasswordExpiration;
+                response.PasswordExpiration = CheckPasswordExpiration ? user.PasswordExpiration : DateTime.MinValue;
             }
             else if (user.ID == CoreUtils.FullGuid || !user.Use2FA)
             {
@@ -183,7 +185,7 @@ namespace InABox.API
                 response.Session = user.ID == CoreUtils.FullGuid ? 
                     CredentialsCache.NewSession(user, true, DateTime.MaxValue) :
                     CredentialsCache.NewSession(user, true);
-                response.PasswordExpiration = user.PasswordExpiration;
+                response.PasswordExpiration = CheckPasswordExpiration ? user.PasswordExpiration : DateTime.MinValue;
             }
             else
             {
@@ -199,7 +201,7 @@ namespace InABox.API
                     response.SecurityID = user.SecurityGroup.ID;
                     response.Session = session ?? Guid.Empty;
                     response.Recipient2FA = recipient;
-                    response.PasswordExpiration = user.PasswordExpiration;
+                    response.PasswordExpiration = CheckPasswordExpiration ? user.PasswordExpiration : DateTime.MinValue;
                 }
                 else
                 {