2016-03-30 14 views
0

i Problem aufwies, wurde Frühling Sicherheit immer die Login von der Steuerung zu verarbeiten i nämlich in einer Klasse definiert habeWie wird eine benutzerdefinierte Anmeldungsverarbeitungsseite für die Federsicherheit festgelegt?

@RequestMapping(value="/login", method=RequestMethod.POST) 

ich einige googeln tat und dass der Frühling gefunden und bringt die Standard-Login processng Seite als /j_spring_security_check

Also, wie kann ich machen, dass Frühling die Login-Verarbeitung von dem Controller, den ich definiert habe, macht.

Ich habe dies in meiner Datei Security.config

@Override 
protected void configure(HttpSecurity http) throws Exception { 

    try { 
     http 
     .csrf().disable() 
     .authorizeRequests() 
     .antMatchers("/static/**").permitAll() 
     .antMatchers("/settings/api/**").permitAll() 
     .antMatchers("/api/**").permitAll() 
     .anyRequest().authenticated() 
     .and() 
     .formLogin() 
     .loginPage("/login").permitAll() 

     .defaultSuccessUrl("/", true); 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     System.out.println("sadhiasdniaaaaaaaaaaaaaaaa:"); 
     e.printStackTrace(); 
    } 
} 

i Frühling wollen diesen Controller verwenden, um das Login zu verarbeiten, aber es wird mit nicht

@RequestMapping(value="/login", method=RequestMethod.POST) 
public String login(HttpServletRequest request, HttpServletResponse response) { 
    System.out.println("\n\n\n*******hello11111111111111********  " + request.getSession().getAttribute("userLoginStatus")); 
    String username = request.getParameter("username"); 
    String password = request.getParameter("password"); 
    boolean f = false; 
    f = customAuthenticationProvider.verifyUser(username,password,request); 
    if(f == false) 
     return "loginError"; 
    else 
     return "index"; 
} 
+0

Config sieht gut aus. Was ist dein Problem? – Evgeny

+1

Warum? Sie sollten sich wirklich mit Spring Security integrieren, nicht um das herum (was Sie gerade tun). –

+0

Nun ja, aber trotzdem muss es einen Weg geben, dies zu tun. Ich habe versucht, \t \t \t .loginProcessingUrl ("/ Login") in die Sicherheit Config-Datei und immer noch kein Glück –

Antwort

0

Ihr Controller Machen Sie eine custom authentication provider und verbinden Sie es unter dem Authentifizierungsmanager < /> in Ihrer Spring-Datei security.xml. Ein Beispiel für eine solche Konfiguration finden Sie in here.

Verwandte Themen