Изменение имени файла cookie JSESSIONID на что-то другое с помощью Spring Boot Security

#java #spring #spring-boot

#java #spring #spring-boot

Вопрос:

Я хотел бы изменить имя файла cookie JSESSIONID на что-то другое, чтобы потенциальным злоумышленникам было сложнее угадать, какую технологию использует мое приложение.

Возможно ли это в Spring Boot с Spring Security? Я смог найти решения для весенней загрузки с помощью Spring Session, но ни одно из них не работало бы без расширения сеанса (которое я не использую).

Ответ №1:

Вы можете изменить имя файла cookie в своем application.yml

Вот так :

 server:
  servlet:
    session:
      cookie:
        name: TEST_JSESSIONID
  

или

 @Bean
public CookieSerializer cookieSerializer() {
    DefaultCookieSerializer serializer = new DefaultCookieSerializer();
    serializer.setCookieName("TEST_JSESSIONID"); 
    serializer.setCookiePath("/"); 
    serializer.setDomainNamePattern("^. ?\.(\w \.[a-z] )$"); 
    return serializer;
}
  

https://docs.spring.io/spring-session/docs/current/reference/html5/guides/java-custom-cookie.html

Ответ №2:

Вы можете настроить его следующим web.xml образом:

 <session-config>
    <cookie-config>
        <name>cookie name</name>
    </cookie-config>
</session-config>
  

Комментарии:

1. Я бы хотел избежать использования конфигурации XML. Есть ли какой-либо способ добиться этого без web.xml ?

2. @JakeS. Насколько я знаю, нет.