Uso Spring Security per il mio progetto. Il framework non ha un'API per la creazione o la registrazione degli utenti come richiesto. Perché Spring Security sia generico e utilizzabile su più framework, può solo portarti a termine prima di dover scrivere codice personalizzato. Non si può davvero ottenere una risposta più specifica su un framework o uno strumento da utilizzare perché a questo punto si useranno solo i framework che si stanno già utilizzando.
Se è stato impostato per utilizzare utenti e ruoli nel database, dal livello di accesso ai dati si creerà un record nella tabella utente o si aggiornerà una password (preferibilmente memorizzata come hash) in tale record. E come ha detto Aravind, Spring fornisce email support.
Se vuoi davvero vedere un modo per farlo: sto usando Spring MVC, JSP e Hibernate. Io uso i tag form di Spring in un JSP per associare un nuovo modulo utente a un oggetto Person e il mio metodo controller passa quell'oggetto Person al mio Dao per mantenerlo.
La firma del metodo di controllo si presenta così ...
@RequestMapping(value = "/newUser", method = RequestMethod.POST)
public ModelAndView createNewUser(final @Valid @ModelAttribute Person user,
final BindingResult result,
final SessionStatus status,
final @RequestParam(value = "unencodedPassword", required = true) String password) {
...
user.getRoles().add(new Role(user, Role.APPLICATION_ROLE.ROLE_USER));
userDao.createNewUser(user);
...
}
e la mia PersonDao avrebbe usato Hibernate a persistere l'utente in questo modo
@Transactional
public void createNewUser(Person user)
{
Session session = sessionFactory.getCurrentSession();
session.save(user);
session.flush();
}
http://stackoverflow.com/questions/23562266/create-account-forgot-password-and-change-password – OhadR