2016-10-24 3 views
-1

Ich möchte ein Gastbenutzer mit Ajax Anfrage hinzufügen:Spring Security Authenicate Benutzer in der Registrierung

$.ajax({ 
        type : "GET", 
        url : restUrlUser + "/front/saveGuestUser", 
        success : function(res) { 
         if (res) 
          return res.id 
        } 
       }); 

und in der Steuerung erhalte ich die Anforderung mit dieser Methode:

@RequestMapping("/front/saveGuestUser") 
@ResponseBody 
public Long saveGuestUser() { 
    return iUserService.saveGuestUser(); 
} 

und die in Service-Schicht Ich benutze den SecurityContextHolder und füge den Benutzer hinzu:

aber wenn die Anfrage t zurückgibt o die Benutzeroberfläche und ich möchte Anwendung in einem anderen Tab verwenden, ich bekomme den Zugriff 403 verweigert. was soll ich tun?

Antwort

0

Vergewissern Sie sich tatsächlich mit dem UsernamePasswordAuthenticationToken Authentifizierung:

Authentication token = new UsernamePasswordAuthenticationToken(entity, null, entity.getAuthorities()); 
Authentication authentication = this.authenticationProvider.authenticate(token); 

Sehen Sie diese ähnliche Frage für weitere Einzelheiten: How to manually set an authenticated user in Spring Security/SpringMVC


Edit 1: Wenn Sie mit Spring Security, Sie haben vermutlich bereits eine WebSecurityConfigurerAdapter Unterklasse. Sie können, wie dies in der AuthenticationProvider mit etwas Draht:

@Configuration 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 

    @Override 
    @Bean 
    public AuthenticationManager authenticationManagerBean() throws Exception { 
     return super.authenticationManagerBean(); 
    } 
} 

In Ihrem Service-Layer können Sie dann autowire die Bohne, wie folgt aus:

public class WhateverService { 

    @Autowired 
    @Qualifier("authenticationManagerBean") 
    private AuthenticationManager authenticationManager; 

    .... 
} 
+0

was meinst du über "this", in meiner Service-Layer Ich dehne nichts aus. –

+0

@Mohammad Mirzaeyan Bitte beachten Sie Edit 1 zum Beispiel von "AuthenticationManager" von "WebSecurityConfigurerAdapter" – petesavitsky

+0

Ich benutze XML-Konfiguration, wie füge ich diese Config? –

Verwandte Themen