Replace CrossOrigin annotaion with global configuration

This commit is contained in:
George Kalampokis 2022-04-18 18:32:25 +03:00
parent f5873ab9b0
commit f63d6b33ed
39 changed files with 16 additions and 48 deletions

View File

@ -1,37 +1,43 @@
package eu.eudat.configurations; package eu.eudat.configurations;
import eu.eudat.controllers.interceptors.RequestInterceptor;
import eu.eudat.logic.handlers.PrincipalArgumentResolver; import eu.eudat.logic.handlers.PrincipalArgumentResolver;
import eu.eudat.logic.services.ApiContext; import eu.eudat.logic.services.ApiContext;
import eu.eudat.logic.services.operations.authentication.AuthenticationService; import eu.eudat.logic.services.operations.authentication.AuthenticationService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.Configuration;
import org.springframework.core.env.Environment;
import org.springframework.scheduling.annotation.EnableAsync; import org.springframework.scheduling.annotation.EnableAsync;
import org.springframework.scheduling.annotation.EnableScheduling; import org.springframework.scheduling.annotation.EnableScheduling;
import org.springframework.web.method.support.HandlerMethodArgumentResolver; import org.springframework.web.method.support.HandlerMethodArgumentResolver;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import java.util.List; import java.util.List;
@EnableAsync @EnableAsync
@Configuration @Configuration
@EnableScheduling @EnableScheduling
public class WebMVCConfiguration extends WebMvcConfigurerAdapter { public class WebMVCConfiguration implements WebMvcConfigurer {
private ApiContext apiContext; private ApiContext apiContext;
private AuthenticationService verifiedUserAuthenticationService; private final AuthenticationService verifiedUserAuthenticationService;
private AuthenticationService nonVerifiedUserAuthenticationService; private final AuthenticationService nonVerifiedUserAuthenticationService;
@Autowired private final Environment environment;
public WebMVCConfiguration(ApiContext apiContext, AuthenticationService verifiedUserAuthenticationService, AuthenticationService nonVerifiedUserAuthenticationService) {
public WebMVCConfiguration(ApiContext apiContext, AuthenticationService verifiedUserAuthenticationService, AuthenticationService nonVerifiedUserAuthenticationService, Environment environment) {
this.apiContext = apiContext; this.apiContext = apiContext;
this.verifiedUserAuthenticationService = verifiedUserAuthenticationService; this.verifiedUserAuthenticationService = verifiedUserAuthenticationService;
this.nonVerifiedUserAuthenticationService = nonVerifiedUserAuthenticationService; this.nonVerifiedUserAuthenticationService = nonVerifiedUserAuthenticationService;
this.environment = environment;
}
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/api/**").allowedOrigins(this.environment.getProperty("dmp.domain"));
} }
@Autowired
@Override @Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) { public void addArgumentResolvers(List<HandlerMethodArgumentResolver> argumentResolvers) {
argumentResolvers.add(new PrincipalArgumentResolver(verifiedUserAuthenticationService, nonVerifiedUserAuthenticationService)); argumentResolvers.add(new PrincipalArgumentResolver(verifiedUserAuthenticationService, nonVerifiedUserAuthenticationService));

View File

@ -38,7 +38,6 @@ import static eu.eudat.types.Authorities.ADMIN;
import static eu.eudat.types.Authorities.DATASET_PROFILE_MANAGER; import static eu.eudat.types.Authorities.DATASET_PROFILE_MANAGER;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/admin/"}) @RequestMapping(value = {"/api/admin/"})
public class Admin extends BaseController { public class Admin extends BaseController {

View File

@ -18,7 +18,6 @@ import java.util.List;
* Created by ikalyvas on 3/28/2018. * Created by ikalyvas on 3/28/2018.
*/ */
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/common"}) @RequestMapping(value = {"/api/common"})
public class CommonController { public class CommonController {

View File

@ -15,7 +15,6 @@ import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional; import javax.transaction.Transactional;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/contactEmail") @RequestMapping(value = "api/contactEmail")
public class ContactEmail { public class ContactEmail {
private static final Logger logger = LoggerFactory.getLogger(ContactEmail.class); private static final Logger logger = LoggerFactory.getLogger(ContactEmail.class);

View File

@ -12,7 +12,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/currency") @RequestMapping(value = "api/currency")
public class CurrencyController { public class CurrencyController {

View File

@ -31,7 +31,6 @@ import static eu.eudat.types.Authorities.ADMIN;
* Created by ikalyvas on 3/21/2018. * Created by ikalyvas on 3/21/2018.
*/ */
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/dmpprofile"}) @RequestMapping(value = {"/api/dmpprofile"})
public class DMPProfileController extends BaseController { public class DMPProfileController extends BaseController {

View File

@ -62,7 +62,6 @@ import static org.springframework.http.MediaType.*;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/dmps/"}) @RequestMapping(value = {"/api/dmps/"})
public class DMPs extends BaseController { public class DMPs extends BaseController {
private static final Logger logger = LoggerFactory.getLogger(DMPs.class); private static final Logger logger = LoggerFactory.getLogger(DMPs.class);

View File

@ -22,11 +22,10 @@ import java.io.IOException;
import java.util.List; import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class DashBoardController extends BaseController { public class DashBoardController extends BaseController {
private DashBoardManager dashBoardManager; private final DashBoardManager dashBoardManager;
@Autowired @Autowired
public DashBoardController(ApiContext apiContext, DashBoardManager dashBoardManager) { public DashBoardController(ApiContext apiContext, DashBoardManager dashBoardManager) {
super(apiContext); super(apiContext);

View File

@ -19,7 +19,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/datarepos"}) @RequestMapping(value = {"/api/external/datarepos"})
public class DataRepositories extends BaseController { public class DataRepositories extends BaseController {

View File

@ -23,7 +23,6 @@ import java.util.UUID;
import static eu.eudat.types.Authorities.ADMIN; import static eu.eudat.types.Authorities.ADMIN;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class DatasetProfileController extends BaseController { public class DatasetProfileController extends BaseController {

View File

@ -17,7 +17,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class DatasetProfiles extends BaseController { public class DatasetProfiles extends BaseController {

View File

@ -59,7 +59,6 @@ import static eu.eudat.types.Authorities.ANONYMOUS;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/datasets/"}) @RequestMapping(value = {"/api/datasets/"})
public class Datasets extends BaseController { public class Datasets extends BaseController {
private static final Logger logger = LoggerFactory.getLogger(Datasets.class); private static final Logger logger = LoggerFactory.getLogger(Datasets.class);

View File

@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional; import javax.transaction.Transactional;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/emailConfirmation") @RequestMapping(value = "api/emailConfirmation")
public class EmailConfirmation { public class EmailConfirmation {

View File

@ -18,7 +18,6 @@ import org.springframework.web.bind.annotation.*;
import javax.transaction.Transactional; import javax.transaction.Transactional;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/emailMergeConfirmation") @RequestMapping(value = "api/emailMergeConfirmation")
public class EmailMergeConfirmation { public class EmailMergeConfirmation {

View File

@ -24,7 +24,6 @@ import java.util.UUID;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class ExternalDatasets extends BaseController { public class ExternalDatasets extends BaseController {

View File

@ -40,7 +40,6 @@ import java.util.UUID;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/file/"}) @RequestMapping(value = {"/api/file/"})
public class FileController { public class FileController {
private static final Logger logger = LoggerFactory.getLogger(FileController.class); private static final Logger logger = LoggerFactory.getLogger(FileController.class);

View File

@ -16,7 +16,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/funders/"}) @RequestMapping(value = {"/api/funders/"})
public class Funders extends BaseController { public class Funders extends BaseController {
private FunderManager funderManager; private FunderManager funderManager;

View File

@ -28,7 +28,6 @@ import static eu.eudat.types.Authorities.ANONYMOUS;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/grants/"}) @RequestMapping(value = {"/api/grants/"})
public class Grants extends BaseController { public class Grants extends BaseController {
private GrantManager grantManager; private GrantManager grantManager;

View File

@ -19,7 +19,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/journals"}) @RequestMapping(value = {"/api/external/journals"})
public class JournalsController extends BaseController { public class JournalsController extends BaseController {

View File

@ -15,7 +15,6 @@ import java.io.*;
import java.util.UUID; import java.util.UUID;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/language/"}) @RequestMapping(value = {"/api/language/"})
public class LanguageController { public class LanguageController {

View File

@ -17,7 +17,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/licenses"}) @RequestMapping(value = {"/api/external/licenses"})
public class Licenses extends BaseController { public class Licenses extends BaseController {

View File

@ -14,7 +14,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.UUID; import java.util.UUID;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/lock/"}) @RequestMapping(value = {"/api/lock/"})
public class LockController { public class LockController {

View File

@ -50,7 +50,6 @@ import java.security.GeneralSecurityException;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/auth") @RequestMapping(value = "api/auth")
public class Login { public class Login {
private static final Logger logger = LoggerFactory.getLogger(Login.class); private static final Logger logger = LoggerFactory.getLogger(Login.class);

View File

@ -20,7 +20,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class Organisations extends BaseController { public class Organisations extends BaseController {

View File

@ -14,7 +14,6 @@ import java.util.List;
import java.util.UUID; import java.util.UUID;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class Prefillings { public class Prefillings {

View File

@ -17,7 +17,6 @@ import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/projects/"}) @RequestMapping(value = {"/api/projects/"})
public class Projects extends BaseController { public class Projects extends BaseController {
private ProjectManager projectManager; private ProjectManager projectManager;

View File

@ -17,7 +17,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/pubrepos"}) @RequestMapping(value = {"/api/external/pubrepos"})
public class PubRepositoriesController extends BaseController { public class PubRepositoriesController extends BaseController {

View File

@ -17,7 +17,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/publications"}) @RequestMapping(value = {"/api/external/publications"})
public class PublicationsController extends BaseController { public class PublicationsController extends BaseController {

View File

@ -26,7 +26,6 @@ import javax.validation.Valid;
import java.util.UUID; import java.util.UUID;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/quick-wizard/"}) @RequestMapping(value = {"/api/quick-wizard/"})
public class QuickWizardController extends BaseController { public class QuickWizardController extends BaseController {

View File

@ -19,7 +19,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class Registries extends BaseController { public class Registries extends BaseController {

View File

@ -21,7 +21,6 @@ import java.util.Map;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/researchers"}) @RequestMapping(value = {"/api/researchers"})
public class Researchers extends BaseController { public class Researchers extends BaseController {

View File

@ -19,7 +19,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class Services extends BaseController { public class Services extends BaseController {

View File

@ -25,7 +25,6 @@ import java.util.stream.Collectors;
* Created by ikalyvas on 7/5/2018. * Created by ikalyvas on 7/5/2018.
*/ */
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class TagController extends BaseController { public class TagController extends BaseController {

View File

@ -17,7 +17,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/external/taxonomies"}) @RequestMapping(value = {"/api/external/taxonomies"})
public class TaxonomiesController extends BaseController { public class TaxonomiesController extends BaseController {

View File

@ -26,7 +26,6 @@ import java.util.stream.Stream;
import static eu.eudat.types.Authorities.ADMIN; import static eu.eudat.types.Authorities.ADMIN;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api/userguide/"}) @RequestMapping(value = {"/api/userguide/"})
public class UserGuideController { public class UserGuideController {

View File

@ -22,7 +22,6 @@ import java.util.UUID;
@RequestMapping("api/invite/") @RequestMapping("api/invite/")
@RestController @RestController
@CrossOrigin
public class UserInvitationController extends BaseController { public class UserInvitationController extends BaseController {
private InvitationsManager invitationsManager; private InvitationsManager invitationsManager;

View File

@ -31,7 +31,6 @@ import static eu.eudat.types.Authorities.ADMIN;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = "api/user") @RequestMapping(value = "api/user")
public class Users extends BaseController { public class Users extends BaseController {

View File

@ -20,7 +20,6 @@ import java.util.List;
@RestController @RestController
@CrossOrigin
@RequestMapping(value = {"/api"}) @RequestMapping(value = {"/api"})
public class Validation extends BaseController { public class Validation extends BaseController {

View File

@ -11,7 +11,6 @@ import java.net.*;
@RestController @RestController
@CrossOrigin
public class Proxy { public class Proxy {
private String allowedHost; private String allowedHost;