patch fin projet
This commit is contained in:
@@ -48,7 +48,6 @@ public class AccueilController {
|
||||
public String viewAccueil(HttpServletRequest request, @AuthenticationPrincipal UserDetails userDetails,
|
||||
@RequestParam(defaultValue = "1") int page, @RequestParam(defaultValue = "6") int size, Model model,
|
||||
HttpSession session) {
|
||||
logger.error("test du logger");
|
||||
|
||||
// Récupérer les critères de recherche de la session
|
||||
String searchTitle = (String) session.getAttribute("searchTitle");
|
||||
|
||||
@@ -21,7 +21,7 @@ import java.util.Calendar;
|
||||
@Primary
|
||||
public class ForgotPasswordRepositoryImpl implements ForgotPasswordRepository {
|
||||
|
||||
static final String keychain = "0123456789azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN" ;
|
||||
static final String keychain = "0123456789azertyuiopqsdfghjklmwxcvbnAZERTYUIOPQSDFGHJKLMWXCVBN";
|
||||
static SecureRandom randomValue = new SecureRandom();
|
||||
|
||||
@Autowired
|
||||
@@ -65,11 +65,7 @@ public class ForgotPasswordRepositoryImpl implements ForgotPasswordRepository {
|
||||
|
||||
@Override
|
||||
public void setForgotPasswords(String email) {
|
||||
//Générer un code
|
||||
StringBuilder linkCreate = new StringBuilder(50);
|
||||
for (int i = 0; i < 50; i ++){
|
||||
linkCreate.append(keychain.charAt(randomValue.nextInt(keychain.length())));
|
||||
}
|
||||
String token = TokenGenreate();
|
||||
//Récupérer la date actuelle plus 10 minutes en plus
|
||||
Calendar dateNow = Calendar.getInstance();
|
||||
Calendar dateAgo = Calendar.getInstance();
|
||||
@@ -78,18 +74,39 @@ public class ForgotPasswordRepositoryImpl implements ForgotPasswordRepository {
|
||||
String sql = "INSERT INTO FORGOT (email, lien, dateCreate, dateExpire) VALUES (:email, :lien, :dateCreate, :dateExpire)";
|
||||
MapSqlParameterSource parameters = new MapSqlParameterSource();
|
||||
parameters.addValue("email", email);
|
||||
parameters.addValue("lien", linkCreate.toString());
|
||||
parameters.addValue("lien", token);
|
||||
parameters.addValue("dateCreate", dateNow.getTime());
|
||||
parameters.addValue("dateExpire", dateAgo.getTime());
|
||||
namedParameterJdbcTemplate.update(sql, parameters);
|
||||
//Envoyer un email
|
||||
String link = "https://eni.enchere.horya.fr/forgotPassword?link=" + linkCreate.toString();
|
||||
String linkLocal = "http://localhost:8800/forgotPassword?link=" + linkCreate.toString();
|
||||
String link = "https://eni.enchere.horya.fr/forgotPassword?link=" + token;
|
||||
String linkLocal = "http://localhost:8800/forgotPassword?link=" + token;
|
||||
SimpleMailMessage message = new SimpleMailMessage();
|
||||
message.setFrom("support@horya.fr");
|
||||
message.setTo(email);
|
||||
message.setSubject("ENI Enchere - Demmande de changement de mot de passe");
|
||||
message.setText("Bonjour,\n\nVous avez demandé une réinitialisation de votre mot de passe. Veuillez utiliser le lien suivant pour procéder à la réinitialisation : " + link + "\n\n" + linkLocal);
|
||||
message.setText("Bonjour,\n\nVous avez demandé une réinitialisation de votre mot de passe. Veuillez utiliser le lien suivant pour procéder à la réinitialisation : " + link + "\nOU\n" + linkLocal);
|
||||
javaMailSender.send(message);
|
||||
}
|
||||
|
||||
private String TokenGenreate(){
|
||||
//Déclaration de variable
|
||||
StringBuilder linkCreate = new StringBuilder(50);
|
||||
String sql = "SELECT * FROM FORGOT WHERE lien = ?";
|
||||
boolean isValide = false;
|
||||
//Traitement
|
||||
while (isValide == false){
|
||||
//Générer un code
|
||||
for (int i = 0; i < 50; i ++){
|
||||
linkCreate.append(keychain.charAt(randomValue.nextInt(keychain.length())));
|
||||
}
|
||||
//Vérifier existance dans la base de donnée
|
||||
try {
|
||||
jdbcTemplate.queryForObject(sql, new ForgotPasswordRepositoryImpl.ForgotPasswordRowMapper(), linkCreate.toString());
|
||||
} catch (EmptyResultDataAccessException e) {
|
||||
isValide = true;
|
||||
}
|
||||
}
|
||||
return linkCreate.toString();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,11 +10,9 @@ import org.springframework.security.crypto.password.PasswordEncoder;
|
||||
import org.springframework.security.web.SecurityFilterChain;
|
||||
import org.springframework.security.web.util.matcher.AntPathRequestMatcher;
|
||||
|
||||
import static javax.management.Query.and;
|
||||
|
||||
@Configuration
|
||||
@EnableWebSecurity
|
||||
public class WebSecurityConfig{
|
||||
public class WebSecurityConfig {
|
||||
|
||||
@Bean
|
||||
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
|
||||
|
||||
Reference in New Issue
Block a user