Fix su login web e migliorie log4j

This commit is contained in:
2025-03-12 19:01:28 +01:00
parent 8a0a4f6014
commit d477133363
5 changed files with 60 additions and 35 deletions

View File

@@ -1,5 +1,5 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="Tomcat (FAST)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat" ALTERNATIVE_JRE_ENABLED="false">
<configuration default="false" name="Tomcat (FAST)" type="#com.intellij.j2ee.web.tomcat.TomcatRunConfigurationFactory" factoryName="Local" APPLICATION_SERVER_NAME="Tomcat" ALTERNATIVE_JRE_ENABLED="false" show_console_on_std_err="true" show_console_on_std_out="true">
<option name="COMMON_VM_ARGUMENTS" value="-DDISABLE_DROOLS_COMPILE=TRUE -Xms1G -Xmx6G" />
<deployment>
<artifact name="ems-engine:war exploded">

View File

@@ -111,7 +111,7 @@
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-bom</artifactId>
<version>2.21.1</version>
<version>2.24.3</version>
<scope>import</scope>
<type>pom</type>
</dependency>

View File

@@ -7,7 +7,6 @@ import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import it.integry.common.var.CommonConstants;
import it.integry.ems._context.ApplicationContextProvider;
import it.integry.ems.datasource.DataSource;
import it.integry.ems.javabeans.RequestDataDTO;
@@ -21,7 +20,6 @@ import it.integry.ems.response.EsitoType;
import it.integry.ems.response.FileItem;
import it.integry.ems.response.ServiceRestResponse;
import it.integry.ems.service.EntityProcessor;
import it.integry.ems.service.HttpRestWrapper;
import it.integry.ems.service.MailService;
import it.integry.ems.settings.Model.AvailableConnectionsModel;
import it.integry.ems.settings.Model.SettingsModel;
@@ -49,7 +47,6 @@ import it.integry.ems_model.utility.*;
import it.integry.security.utility.CryptoUtils;
import org.apache.commons.codec.binary.Base64;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.entity.ContentType;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.docx4j.Docx4J;
@@ -74,7 +71,6 @@ import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Types;
import java.text.SimpleDateFormat;
import java.util.*;
import java.util.concurrent.Executors;
import java.util.concurrent.ThreadPoolExecutor;
@@ -368,7 +364,13 @@ public class SystemService {
List<String> profilesWhereUserFound = new ArrayList<>();
for (String profile : profiles) {
String dbName = settingsModel.getDbNameFromProfileDb(profile);
UserDTO foundUser = userCacheService.retrieveUser(dbName, username, password, requestDataDTO.getApplication());
UserDTO foundUser = null;
//MD5 utilizzato da Ordikids
if (UtilityString.isNullOrEmpty(password) && !UtilityString.isNullOrEmpty(md5User)) {
foundUser = userCacheService.retrieveUser(dbName, md5User);
} else
foundUser = userCacheService.retrieveUser(dbName, username, password, requestDataDTO.getApplication());
if (foundUser == null || !foundUser.isAttivo())
continue;
@@ -382,20 +384,21 @@ public class SystemService {
}
StbUser finalStbUser = stbUser;
UserDTO finalFoundUser = foundUser;
userData = new HashMap<String, Object>() {{
put("flag_attivo", foundUser.isAttivo() ? "S" : "N");
put("user_name", foundUser.getUsername());
put("fullName", foundUser.getFullname());
put("full_name", foundUser.getFullname());
put("flag_attivo", finalFoundUser.isAttivo() ? "S" : "N");
put("user_name", finalFoundUser.getUsername());
put("fullName", finalFoundUser.getFullname());
put("full_name", finalFoundUser.getFullname());
put("cod_lang", finalStbUser.getCodLang());
put("cod_mdep", foundUser.getCodMdep());
put("cod_mdep", finalFoundUser.getCodMdep());
put("profile_db", profile);
put("password_endtime", finalStbUser.getPasswordEndtime());
put("user_code", foundUser.getUserCode());
put("e_mail", foundUser.getEmail());
put("user_code", finalFoundUser.getUserCode());
put("e_mail", finalFoundUser.getEmail());
put("flag_password_expiring", finalStbUser.getFlagPasswordExpiring());
put("Last_access_datetime", finalStbUser.getLastAccessDatetime());
put("key_group", foundUser.getKeyGroup());
put("key_group", finalFoundUser.getKeyGroup());
}};

View File

@@ -2,9 +2,21 @@
<Configuration status="warn">
<Properties>
<Property name="basePath">${sys:catalina.home}/logs/</Property>
<Property name="maxBackupIndex">30</Property>
<Property name="logPattern">%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1.1.9}.java:%L %X{username} - %m%n</Property>
<!-- Enhanced pattern to better show DEBUG information -->
<Property name="consolePattern">
[%highlight{%-5level}{FATAL=red blink, ERROR=red, WARN=yellow bold, INFO=black, DEBUG=green bold, TRACE=blue}] %d{yyyy-MM-dd HH:mm:ss} %style{%c{1.}}{cyan}: %msg%n%throwable
</Property>
</Properties>
<Appenders>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="${consolePattern}" disableAnsi="false"/>
</Console>
<!-- JDBC Appender for database logging -->
<JDBC name="SqLiteDatabase" tableName="app_logs">
<ConnectionFactory class="it.integry.core.log.ConnectionFactory" method="getSqlConnection"/>
<Column name="id" pattern="%u" isUnicode="false"/>
@@ -20,13 +32,13 @@
filePattern="${basePath}/ems-%d{yyyy-MM-dd}_%i.log"
ignoreExceptions="false">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1.1.9}.java:%L %X{username} - %m%n</Pattern>
<Pattern>${logPattern}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
<DefaultRolloverStrategy max="30"/>
<DefaultRolloverStrategy max="${maxBackupIndex}"/>
</RollingFile>
<RollingFile name="errorFileLogger"
@@ -34,37 +46,46 @@
filePattern="${basePath}/ems-error-%d{yyyy-MM-dd}_%i.log"
ignoreExceptions="false">
<PatternLayout>
<Pattern>%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1.1.9}.java:%L %X{username} - %m%n</Pattern>
<Pattern>${logPattern}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" modulate="true"/>
<SizeBasedTriggeringPolicy size="20 MB"/>
</Policies>
<DefaultRolloverStrategy max="30"/>
<DefaultRolloverStrategy max="${maxBackupIndex}"/>
</RollingFile>
<Console name="console" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %d{yyyy-MM-dd HH:mm:ss} [%c{1}] %msg%n"/>
</Console>
</Appenders>
<Loggers>
<Root level="DEBUG" additivity="false">
<!-- Root Logger -->
<Root level="DEBUG">
<AppenderRef ref="console"/>
<AppenderRef ref="primaryFileLogger"/>
</Root>
<!-- Spring Framework Loggers -->
<AsyncLogger name="org.springframework" level="DEBUG" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="primaryFileLogger"/>
</AsyncLogger>
<AsyncLogger name="org.springframework.web" level="DEBUG" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="primaryFileLogger"/>
</AsyncLogger>
<AsyncLogger name="org.springframework.security" level="DEBUG" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="primaryFileLogger"/>
</AsyncLogger>
<!-- JBoss RESTEasy Loggers -->
<AsyncLogger name="org.jboss.resteasy.core" level="INFO"/>
<AsyncLogger name="org.jboss.resteasy.specimpl" level="INFO"/>
<AsyncLogger name="org.jboss.resteasy.plugins.server" level="INFO"/>
<AsyncLogger name="it.integry" level="ALL" additivity="false">
<AppenderRef ref="console" level="DEBUG"/>
<AppenderRef ref="primaryFileLogger"/>
<AppenderRef ref="errorFileLogger" level="ERROR"/>
<AppenderRef ref="SqLiteDatabase"/>
</AsyncLogger>
<AsyncLogger name="org.springframework" level="DEBUG" additivity="false">
<!-- Application Logger -->
<AsyncLogger name="it.integry" level="DEBUG" additivity="false">
<AppenderRef ref="console" />
<AppenderRef ref="primaryFileLogger" />
<AppenderRef ref="errorFileLogger" level="ERROR"/>

View File

@@ -4,6 +4,7 @@
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="pvmWS" version="3.0">
<display-name>Integry Management System API</display-name>
<absolute-ordering />
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>