Drowsito 2 месяцев назад
Родитель
Сommit
d41bc6d0d1

+ 3 - 4
pom.xml

@@ -52,10 +52,9 @@
 			<artifactId>spring-boot-starter-actuator</artifactId>
 		</dependency>
 		<dependency>
-	        <groupId>de.codecentric</groupId>
-	        <artifactId>spring-boot-admin-starter-client</artifactId>
-	        <version>3.3.0</version>
-    	</dependency>
+			<groupId>io.micrometer</groupId>
+			<artifactId>micrometer-registry-prometheus</artifactId>
+		</dependency>
 		<dependency>
 			<groupId>org.springframework.boot</groupId>
 			<artifactId>spring-boot-starter-thymeleaf</artifactId>

+ 6 - 19
src/main/java/es/uv/saic/config/SecurityConfig.java

@@ -9,8 +9,6 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.security.authentication.AuthenticationManager;
-import org.springframework.security.authorization.AuthorizationDecision;
-import org.springframework.security.authorization.AuthorizationManager;
 import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
 import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity;
 import org.springframework.security.config.annotation.web.builders.HttpSecurity;
@@ -22,17 +20,14 @@ import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.security.crypto.password.PasswordEncoder;
 import org.springframework.security.ldap.DefaultSpringSecurityContextSource;
 import org.springframework.security.web.SecurityFilterChain;
-import org.springframework.security.web.access.intercept.RequestAuthorizationContext;
+import org.springframework.security.web.access.expression.WebExpressionAuthorizationManager;
 import org.springframework.security.web.authentication.session.CompositeSessionAuthenticationStrategy;
 import org.springframework.security.web.authentication.session.ConcurrentSessionControlAuthenticationStrategy;
 import org.springframework.security.web.authentication.session.RegisterSessionAuthenticationStrategy;
 import org.springframework.security.web.authentication.session.SessionAuthenticationStrategy;
 import org.springframework.security.web.authentication.session.SessionFixationProtectionStrategy;
 import org.springframework.security.web.session.HttpSessionEventPublisher;
-import org.springframework.security.web.util.matcher.IpAddressMatcher;
-
 import es.uv.saic.service.AuthProvider;
-import jakarta.servlet.http.HttpServletRequest;
 
 
 @Configuration
@@ -53,11 +48,12 @@ public class SecurityConfig {
 	        	.requestMatchers("/login**").permitAll()
 	        	.requestMatchers("/keepalive").permitAll()
 				.requestMatchers("/public/**").permitAll()
-	        	.requestMatchers("/actuator/**").access(hasIpAddress(this.validIp))
+	        	.requestMatchers("/actuator/**").access(new WebExpressionAuthorizationManager("hasIpAddress('" + this.validIp + "')"))
+				.requestMatchers("/actuator/**").access(new WebExpressionAuthorizationManager("hasIpAddress('127.0.0.1')"))
 	        )
 	        .authorizeHttpRequests((auth)-> auth
-	            //.anyRequest().fullyAuthenticated()
-				.anyRequest().permitAll()
+	            .anyRequest().authenticated()
+				//.anyRequest().permitAll()
 	        )
 	        .formLogin((form) -> form
 	            .loginPage("/login")
@@ -70,7 +66,7 @@ public class SecurityConfig {
 	        	.logoutSuccessUrl("/login")
 	        	.invalidateHttpSession(true)
 	        	.clearAuthentication(true)
-	        	.deleteCookies("JSESSIONID")
+	        	.deleteCookies("SAICSESSIONID")
                 .deleteCookies("SESSION")
              )
 	        .csrf((csrf) -> csrf.disable());
@@ -96,15 +92,6 @@ public class SecurityConfig {
 	
 	    return http.build();
 	}
-	
-	private static AuthorizationManager<RequestAuthorizationContext> hasIpAddress(String ipAddress) {
-        IpAddressMatcher ipAddressMatcher = new IpAddressMatcher(ipAddress);
-        return (authentication, context) -> {
-            HttpServletRequest request = context.getRequest();
-			
-            return new AuthorizationDecision(ipAddressMatcher.matches(request));
-        };
-    }
 	    
     @Bean
     public AuthenticationManager authenticationManager(HttpSecurity http) throws Exception {

+ 1 - 1
src/main/java/es/uv/saic/feign/AdminClient.java

@@ -14,7 +14,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 import es.uv.saic.domain.Acreditacio;
 import es.uv.saic.domain.AcreditacioTransfer;
 
-@FeignClient(name = "core-service", contextId = "admin-controller")
+@FeignClient(name = "saic-core-service", contextId = "admin-controller")
 public interface AdminClient {
     @PostMapping("/admin/instances")
     HashMap<String, Object> instantiate(@RequestParam("procedure") Integer idProces,

+ 1 - 1
src/main/java/es/uv/saic/feign/AjaxClient.java

@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 
 import es.uv.saic.dto.ModelDTO;
 
-@FeignClient(name = "core-service", contextId = "ajax-controller")
+@FeignClient(name = "saic-core-service", contextId = "ajax-controller")
 public interface AjaxClient {
     @GetMapping("/ajax/active/centres")
 	public ModelDTO getActiveCentres() throws IOException;

+ 1 - 1
src/main/java/es/uv/saic/feign/CalendarClient.java

@@ -15,7 +15,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import es.uv.saic.domain.Calendari;
 
-@FeignClient(name = "core-service", contextId = "calendar-controller")
+@FeignClient(name = "saic-core-service", contextId = "calendar-controller")
 public interface CalendarClient {
     	@ResponseBody
 	@PostMapping("/ajax/calendar")

+ 1 - 1
src/main/java/es/uv/saic/feign/DashboardClient.java

@@ -24,7 +24,7 @@ import es.uv.saic.domain.Link;
 import es.uv.saic.dto.CategoriaDocumentDTO;
 import es.uv.saic.dto.InstanciaGanttDTOImp;
 
-@FeignClient(name = "core-service", contextId = "dashboard-controller")
+@FeignClient(name = "saic-core-service", contextId = "dashboard-controller")
 public interface DashboardClient {
     @PostMapping("/dashboard")
 	@ResponseBody

+ 1 - 1
src/main/java/es/uv/saic/feign/DataClient.java

@@ -14,7 +14,7 @@ import es.uv.saic.dto.ImportDTO;
 import es.uv.saic.dto.IndicadorEnquestaTmpDup;
 import es.uv.saic.dto.TablaDTO;
 
-@FeignClient(name = "data-service")
+@FeignClient(name = "saic-data-service")
 public interface DataClient {
 
     @GetMapping("/data/import")

+ 1 - 1
src/main/java/es/uv/saic/feign/DocumentClient.java

@@ -21,7 +21,7 @@ import es.uv.saic.dto.DocumentTmpDTO;
 import es.uv.saic.dto.PdfDTO;
 import fr.opensagres.xdocreport.core.XDocReportException;
 
-@FeignClient(name = "docs-service")
+@FeignClient(name = "saic-docs-service")
 public interface DocumentClient {
 
     @PostMapping("/document/save")

+ 1 - 1
src/main/java/es/uv/saic/feign/IndicadorClient.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestBody;
 import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.dto.EnquestaDTO;
 
-@FeignClient(name = "core-service", contextId = "indicador-controller")
+@FeignClient(name = "saic-core-service", contextId = "indicador-controller")
 public interface IndicadorClient {
     @GetMapping("/indicadorEnquesta/findTypes")
     List<String> findTypes();

+ 1 - 1
src/main/java/es/uv/saic/feign/ManagerClient.java

@@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
-@FeignClient(name = "core-service", contextId = "manager-controller")
+@FeignClient(name = "saic-core-service", contextId = "manager-controller")
 public interface ManagerClient {
     @PostMapping("/managers")
     HashMap<String, Object> managersForm(@RequestBody String usuari);

+ 1 - 1
src/main/java/es/uv/saic/feign/NoticiaClient.java

@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 
 import es.uv.saic.domain.Noticia;
 
-@FeignClient(name = "core-service", contextId = "noticia-controller")
+@FeignClient(name = "saic-core-service", contextId = "noticia-controller")
 public interface NoticiaClient {
     @GetMapping("/noticia/findVisibles")
     List<Noticia> findVisibles();

+ 1 - 1
src/main/java/es/uv/saic/feign/OrganClient.java

@@ -15,7 +15,7 @@ import es.uv.saic.domain.IndicadorEnquesta;
 import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.OrganDTO;
 
-@FeignClient(name = "core-service", contextId = "organ-controller")
+@FeignClient(name = "saic-core-service", contextId = "organ-controller")
 public interface OrganClient {
     @GetMapping("/getCentres")
     List<OrganDTO> getCentres();

+ 1 - 1
src/main/java/es/uv/saic/feign/ParseClient.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import jakarta.servlet.http.HttpServletResponse;
 
-@FeignClient(name = "core-service", contextId = "parse-controller")
+@FeignClient(name = "saic-core-service", contextId = "parse-controller")
 public interface ParseClient {
 
     @PostMapping("/admin/parse/do")

+ 1 - 1
src/main/java/es/uv/saic/feign/PlantillaClient.java

@@ -13,7 +13,7 @@ import es.uv.saic.domain.Plantilla;
 import es.uv.saic.dto.PdfDTO;
 import es.uv.saic.dto.TemplateDataDTO;
 
-@FeignClient(name = "docs-service", contextId = "plantilla-controller")
+@FeignClient(name = "saic-docs-service", contextId = "plantilla-controller")
 public interface PlantillaClient {
 
     //Se usa

+ 1 - 1
src/main/java/es/uv/saic/feign/ProceduresClient.java

@@ -23,7 +23,7 @@ import es.uv.saic.domain.Proces;
 import es.uv.saic.domain.Tipus;
 import es.uv.saic.dto.ProcesDTO;
 
-@FeignClient(name = "core-service", contextId = "procedures-controller")
+@FeignClient(name = "saic-core-service", contextId = "procedures-controller")
 public interface ProceduresClient {
     @PostMapping("/procedures")
 	public HashMap<String, Object> getActiveInstances(@RequestParam(required = false) String _new,

+ 1 - 1
src/main/java/es/uv/saic/feign/StatsClient.java

@@ -7,7 +7,7 @@ import org.springframework.web.bind.annotation.GetMapping;
 
 import es.uv.saic.web.StatsController.PendingEmail;
 
-@FeignClient(name = "core-service", contextId = "stats-controller")
+@FeignClient(name = "saic-core-service", contextId = "stats-controller")
 public interface StatsClient {
     @GetMapping("/admin/get/pendingEmails")
 	public List<PendingEmail> getPendingEmails();

+ 1 - 1
src/main/java/es/uv/saic/feign/SupervisionClient.java

@@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import es.uv.saic.domain.SupervisionSearchParams;
 
-@FeignClient(name = "core-service", contextId = "superivision-controller")
+@FeignClient(name = "saic-core-service", contextId = "superivision-controller")
 public interface SupervisionClient {
 
     @PostMapping("/supervision")

+ 1 - 1
src/main/java/es/uv/saic/feign/TascaClient.java

@@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RequestParam;
 
 import es.uv.saic.dto.EvidenciaBuscadorDTO;
 
-@FeignClient(name = "core-service", contextId = "tasca-controller")
+@FeignClient(name = "saic-core-service", contextId = "tasca-controller")
 public interface TascaClient {
      @PostMapping("/ajax/search/evidences")
 	public HashMap<String, Object> getEvidencesByCenterTitulationYear(

+ 1 - 1
src/main/java/es/uv/saic/feign/UsuariClient.java

@@ -11,7 +11,7 @@ import es.uv.saic.domain.Usuari;
 import es.uv.saic.dto.RolDTO;
 import es.uv.saic.dto.UsuariDTO;
 
-@FeignClient(name = "core-service", contextId = "usuari-controller")
+@FeignClient(name = "saic-core-service", contextId = "usuari-controller")
 public interface UsuariClient {
     @PostMapping("/grantedUser")
     public boolean isGrantedUser(@RequestBody Usuari usuari);

+ 1 - 1
src/main/java/es/uv/saic/feign/WikiClient.java

@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import es.uv.saic.domain.Wiki;
 
-@FeignClient(name = "core-service", contextId = "wiki-controller")
+@FeignClient(name = "saic-core-service", contextId = "wiki-controller")
 public interface WikiClient {
     @GetMapping("/wiki/text/{categoria}")
 	@ResponseBody

+ 1 - 17
src/main/resources/application-local.properties

@@ -1,13 +1,5 @@
-server.port = 0
-spring.application.name = gui-service
-eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka
-eureka.instance.prefer-ip-address=false
-eureka.instance.status-page-url-path=/
-
 # Urls
-saic.url.domain = http://core-service
-saic.url.data.domain = http://data-service
-saic.url.docs.domain = http://docs-service
+saic.url.domain = http://127.0.0.1
 saic.url.public = ${saic.url.domain}/public
 
 # JPA Debug
@@ -44,11 +36,3 @@ logging.file.name=/home/dagarcos/DATA_SYNC/UV_APPS/SAIC/DATA/saic-data/logsd/sai
 # Scheduler
 saic.scheduler.expired.enabled=false
 
-# Actuator
-spring.boot.admin.client.url=http://127.0.0.1:9090
-spring.boot.admin.client.username=admin
-spring.boot.admin.client.password=kkdvk
-management.endpoints.web.exposure.include=*
-management.endpoint.health.show-details=always
-saic.actuator.validIp=127.0.0.1
-

+ 14 - 1
src/main/resources/application.properties

@@ -1,3 +1,14 @@
+spring.application.name = saic-gui-service
+
+# EUREKA
+eureka.client.service-url.defaultZone=http://127.0.0.1:8761/eureka
+eureka.instance.prefer-ip-address=false
+eureka.instance.status-page-url-path=/
+
+# Actuator
+management.endpoints.web.exposure.include=*
+management.endpoint.health.show-details=always
+saic.actuator.validIp=147.156.0.0/16
 
 # Activate spring profiles
 spring.profiles.active=@activatedProperties@
@@ -40,7 +51,7 @@ spring.mail.properties.mail.smtp.auth = false
 spring.mail.properties.mail.smtp.starttls.enable = false
 
 # Server
-server.port=8080
+server.port = 0
 server.forward-headers-strategy=native
 server.tomcat.remoteip.remote-ip-header=X-Forwarded-For
 server.tomcat.remoteip.protocol-header=X-Forwarded-Proto
@@ -65,3 +76,5 @@ saic.uqserver2.dbname.doct = MDB_doctorado
 saic.uqserver2.user = saic
 saic.uqserver2.passwd = S41cdb01.
 
+# Nombre de la cookie de sesion
+server.servlet.session.cookie.name=SAICSESSIONID