Informacje o wersji 1.15.5.3
z dn. 09-12-2025
W tej wersji
- Polityka utraty ważności haseł
- Modyfikacja konfiguracji brokera RabbitMQ
- Obsługa smart numbers w oknie Wykonaj SQL
- Rozwiązane problemy
Wymagane działania
Nie jest wymagane wykonanie żadnych dodatkowych czynności.
Kompatybilność aplikacji
Migracja aplikacji jest możliwa tylko między wersjami nAxiom kompatybilnymi na poziomie bazy danych.
Bieżąca wersja bazy danych: 20251126112321
Wersje nAxiom kompatybilne na poziomie bazy danych:
- 1.15.5.2
Nowe i zmodernizowane funkcje
1. Polityka utraty ważności haseł
Dodano funkcjonalność utraty ważności hasła po upływie zdefiniowanego okresu. Funkcjonalność można włączyć w konfiguracji tenanta (sekcja PasswordExpirationPolicy). Oprócz długości okresu ważności (w dniach), można skonfigurować liczbę dni przed upływem tego okresu, przez które nAxiom będzie przypominać o konieczności zmiany hasła. Jeśli hasło nie zostanie zmienione wcześniej, zmiana zostanie wymuszona podczas pierwszego logowania po upływie okresu ważności (w kolejnym dniu kalendarzowym).
Ponadto w profilu użytkownika dodano możliwość wyłączenia tej funkcjonalności dla indywidualnych użytkowników — jest ona widoczna tylko wtedy, gdy włączono politykę utraty ważności w TenantsadminSPA. Ponadto, w uprawnieniach PBA dodano uprawnienie upoważniające do obsługi przełącznika w profilu.
Zachowanie systemu w wypadku upływu ważności hasła
- Jeśli termin ważności hasła upłynął, od razu po logowaniu jest wyświetlana strona do zmiany hasła. Użytkownik w tym momencie nie może uzyskać dostępu do systemu np. poprzez zmianę adresu w przeglądarce na /front.
- Jeśli wygasło hasło użytkownika wykorzystywanego do integracji przez PublicAPI, to w odpowiedzi na próbę zalogowania poprzez endpoint /connect/token zostanie zwrócony błąd: {“error”:”invalid_grant”,”error_description”:”User password has expired”}
- Jeśli upłynął termin ważności hasła, ale użytkownik ma zaznaczoną opcję Bezterminowe hasło, może logować się w dalszym ciągu (również do PublicAPI).
- Upływ ważności hasła nie ma zastosowania do użytkowników LDAP.
- W przypadku blokady konta (zbyt wiele nieudanych prób logowania), po upływie ważności hasła nie zostanie wyświetlona strona zmiany hasła. Użytkownik musi przejść proces przypomnienia hasła. Po tym procesie termin ważności hasła zostanie zaktualizowany.
- W przypadku konta nieaktywnego polityka utraty ważności hasła nie ma zastosowania. Przy próbie logowania jest wyświetlany komunikat, że konto jest nieaktywne.
- Polityka utraty ważności hasła nie ma zastosowania w przypadku logowania Windows, logowania zewnętrznego SSO, logowania formularzowego LDAP oraz logowania uproszczonego.
2. Modyfikacja konfiguracji brokera RabbitMQ
Zmodyfikowano konfigurację brokera komunikatów RabbitMQ dla środowisk nAxiom. Obecnie wszystkie środowiska nAxiom na danym hoście mogą korzystać z jednej usługi RabbitMQ. Separację komunikatów z różnych środowisk nAxiom zapewnia mechanizm hostów wirtualnych. Do tej pory każda usługa RabbitMQ używała domyślnej nazwy hosta wirtualnego / i z poziomu instalatora nAxiom nie można było tego zmienić. Obecnie, podczas instalacji i aktualizacji nAxiom wymagane jest podanie nazwy hosta oraz portu konsoli zarządzania.
Konfiguracja RabbitMQ jest zapisywana w plikach appsettings.json wszystkich dotnetowych serwisów nAxiom. W ramach modernizacji z konfiguracji brokera usunięto klucz NaxQueuePrefix, który zawierał przedrostek nazw kolejek w brokerze.
Przykład nowej konfiguracji brokera w appsettings.json:
"MessageBrokerConfiguration": {
"HostName": "amqp://localhost:5674",
"VirtualHostName": "/",
"UserName": "naxiom",
"UseSsl": false,
"ManagementConsole": "15674",
"DefaultManagementConsoleUrl": "http://localhost:15674"
}
Ponadto w instalatorze dodano obsługę zmiennych środowiskowych odpowiadających następującym parametrom konfiguracyjnym ustawianym w instalatorze:
| Zmienna środowiskowa | Ustawienie instalatora |
|---|---|
| NAX_AppConfiguration__SchemaSettings__DefaultAuthSchema |
Ustawienia schematów > Schemat dla tabel autoryzacyjnych
|
| NAX_AppConfiguration__SchemaSettings__DefaultCoreSchema |
Ustawienia schematów > Schemat dla tabel systemowych
|
| NAX_AppConfiguration__SchemaSettings__DefaultUserSchemas |
Ustawienia schematów > Schemat dla tabel biznesowych
|
| NAX_AppConfiguration__MessageBrokerConfiguration__UserName |
Broker komunikatów - konfiguracja > Użytkownik
|
| NAX_AppConfiguration__MessageBrokerConfiguration__Password |
Broker komunikatów - konfiguracja > Hasło
|
| NAX_AppConfiguration__MessageBrokerConfiguration__HostName |
Broker komunikatów - konfiguracja > RabbitMQ AMQP URI
|
| NAX_AppConfiguration__MessageBrokerConfiguration__VirtualHostName |
Broker komunikatów - konfiguracja > Nazwa wirtualnego hosta
|
| NAX_AppConfiguration__MessageBrokerConfiguration__ManagementConsolePort |
Broker komunikatów - konfiguracja > Port webowej konsoli zarządzania
|
Jeśli instalator wykryje dowolną z powyższych zmiennych, wczyta jej wartość i zablokuje odpowiednie pole w interfejsie z komunikatem odczytane ze zmiennej środowiskowej.
3. Obsługa smart numbers w oknie Wykonaj SQL
W Kreatorze modeli danych (AdminSPA) w oknie edytora wyświetlanym przyciskiem Wykonaj zapytanie SQL oraz globalnie w oknach Wykonaj SQL dodano obsługę smart numbers.
Poprawki i usunięte błędy
1. Błąd synchronizacji użytkowników z LDAP
Poprawiono błędne działanie synchronizacji z wykorzystaniem mechanizmu SQL i tabel SyncUserProfiles oraz SyncOUInstances. W przypadku korzystania z tabeli SyncOUInstances pojawiał się błąd podczas drugiej i kolejnej synchronizacji po ponownym uruchomieniu serwisu TaskService. Przyczyną błędu był problem ze śledzeniem zmian tłumaczeń nazwy jednostki organizacyjnej.
Uwaga
Błąd mógł doprowadzić do sytuacji, w której liczba rekordów w tabeli auth.AspNetUsers jest większa od liczby rekordów w tabeli core.UserProfiles. W takim przypadku należy usunąć nadmiarowe rekordy z auth.AspNetUsers.
2. Nie można zmienić statusu
W trakcie diagnostyki zgłoszonego problemu wykryto, że w tabeli standardowego modelu danych istnieją rekordy, które nie mają wartości w kolumnie Transition (NULL). Dla takiego dokumentu nie można zmienić statusu. W ramach zadania dodano komunikat informujący o braku zdefiniowanego przejścia podczas próby zmiany statusu dokumentu w formularzu.
W przypadku podejrzewania możliwości wystąpienia podobnego przypadku w swoim środowisku, należy sprawdzić kolumny Transition w tabelach dokumentów biznesowych pod kątem braku wartości.
3. Podproces synchroniczny
Poprawiono sposób działania bloku procesu synchronicznego. Do tej pory, jeśli we właściwościach bloku włączono przełącznik Przekieruj do formularza podprocesu po zainicjowaniu podprocesu, a dla przejścia wychodzącego z bloku we właściwości Status zakończenia podprocesu wybrano pierwszy status dokumentu (domyślnie Utworzony), proces nie przechodził do następnego kroku. Obecnie taki przypadek jest obsługiwany.
4. Aktualizacja Telerik Reports
Zaktualizowano komponent Telerik Reports do najnowszej wersji, co pozwoliło rozwiązać problem spowodowany brakiem obsługi parametrów ciągu połączenia takich jak Trust Server Certificate. Nowe parametry pojawiły się w wyniku zmiany biblioteki System.Data.SqlClient na Microsoft.Data.SqlClient.
5. Kopiowanie tekstu z raportów Telerik
Wyeliminowano problem który uniemożliwiał prawidłowe wklejenie tekstu skopiowanego z raportu Telerik (PDF) wygenerowanego w środowisku skonteneryzowanym nAxiom.
6. Sortowanie listy
Poprawiono błąd, który powodował, że do listy otwieranej w kreatorze list w AdminSPA stosowane było sortowanie ustawione dla poprzedniej listy.
7. Funkcje agregacyjne w stopkach list
Zablokowano wyświetlanie komunikatu Null value is eliminated by an aggregate or other SET operation w aplikacji FrontSPA w przypadku, gdy zapytanie SQL dla raportów Telerik obliczające wartość funkcji agregującej napotykało na rekordy z wartością NULL.