Ho questo pezzo di codiceDove dovrebbe andare la logica di autenticazione manuale in spring security - Livello di servizio o livello di presentazione?
UserDetails userDetails = userDetailsServiceImpl.loadUserByUsername(email);
Authentication authentication = new UsernamePasswordAuthenticationToken(userDetails, userDetails.getPassword(), userDetails.getAuthorities());
SecurityContext securityContext = SecurityContextHolder.getContext();
securityContext.setAuthentication(authentication);
HttpSession session = request.getSession(true);
session.setAttribute("SPRING_SECURITY_CONTEXT", securityContext);
Questo è per autenticare manualmente un utente in sicurezza primavera. La mia domanda è dove dovrei inserire questo codice? Mettere questo livello di servizio mi obbliga a portare l'oggetto HttpSession sul livello di servizio che AFAIK è danneggiato. Non sono sicuro di quanto sia utile posizionare la logica di autenticazione nel livello di presentazione. Qualcuno con qualche intuizione ??
Grazie in anticipo.
erm, il filtro servlet è standard, lo hai costretto di proposito solo a queste due opzioni per qualche motivo? – Affe
quindi devo scrivere un filtro personalizzato? A partire da ora è una semplice richiesta GET. Devo accettare la logica all'interno di quella chiamata. – shazinltc
Se si utilizza semplicemente l'autenticazione di base, è sufficiente configurare Spring per gestirlo per te. – benzonico