Nasıl el ile Bahar Güvenlik kimliği doğrulanmış bir kullanıcı / SpringMVC ayarlamak için
Yeni bir kullanıcı 'Yeni hesap' şeklinde, el sonraki sayfada giriş yok yani o kullanıcı oturum açmak istiyorum. bir gönderdikten sonra
Normal form oturum açma sayfasında bahar güvenlik uçağı geçiyor gayet güzel çalışıyor.
-Hesabı yeni form kontrol sisteminde bir UsernamePasswordAuthenticationToken oluşturma ve SecurityContext manuel olarak belirliyorum:
SecurityContextHolder.getContext().setAuthentication(authentication);
Aynı sayfada ben kullanıcı ile oturum sonra kontrol edin:
SecurityContextHolder.getContext().getAuthentication().getAuthorities();
Bu kimlik daha önce kurdum yetkililer verir. Her şey yolunda.
Ama bu aynı kodu bir sonraki sayfa yük üzerinde çağrıldığında, kimlik doğrulama belirteci sadece UserAnonymous.
Kimlik doğrulama ben önceki isteğinin devam etmedi neden emin değilim. Herhangi bir düşünce?
- Oturum KİMLİĞİ doğru şekilde kurulmuş olmak değil alakası olabilir mi?
- Muhtemelen benim kimlik üzerine bir şey bir şekilde var mı?
- Belki de sadece kimlik doğrulama kurtarmak için bir adım mı ihtiyacınız var?
- Ya da tüm seans boyunca kimlik bildirmek için tek isteği bir şekilde yerine yapmam gereken bir şey var mı?
Bana burada neler olduğunu görmek yardımcı olabilecek bazı düşünceler arıyor.
CEVAP
Benim post düşündüm başka bir Tam Çözüm bulamadım. Bu biraz hack olabilir, ama yukarıdaki sorun için sorun çözüldü:
public void login(HttpServletRequest request, String userName, String password)
{
UsernamePasswordAuthenticationToken authRequest = new UsernamePasswordAuthenticationToken(userName, password);
// Authenticate the user
Authentication authentication = authenticationManager.authenticate(authRequest);
SecurityContext securityContext = SecurityContextHolder.getContext();
securityContext.setAuthentication(authentication);
// Create a new session and add the security context.
HttpSession session = request.getSession(true);
session.setAttribute("SPRING_SECURITY_CONTEXT", securityContext);
}
Bahar Güvenlik kullanırken, fasulye ge...
Nasıl python http bağlantısı için kiml...
Nasıl bahar güvenlik dil anlatım ek aç...
Nasıl daha sonra düz metin alma için e...
Nasıl terminalden Curl ile JSON veri g...