2015-01-22 24 views
6

Tôi đã cố gắng thêm Đăng nhập tùy chỉnh bảo mật mùa xuân (Java Config) vào ứng dụng của mình, nhưng một lỗi lạ vẫn xuất hiện.Lỗi đăng nhập tùy chỉnh bảo mật mùa xuân

Tôi đã trải qua Creating a Custom Login Form tutorial và nó hoạt động tốt. Tôi không chắc vấn đề với đơn đăng ký của mình là gì.

Lỗi

Nguyên nhân: java.lang.IllegalArgumentException: '? Đăng nhập lỗi' không phải là một URL chuyển hướng hợp lệ

an Config

@Configuration 
@EnableWebSecurity 
public class SecurityConfig extends WebSecurityConfigurerAdapter { 
    @Autowired 
    public void configure(AuthenticationManagerBuilder auth) 
      throws Exception { 
     auth 
     .inMemoryAuthentication() 
      .withUser("user").password("password").roles("USER"); 
    } 

    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
     http.authorizeRequests().antMatchers("/", "/about").permitAll(); 
     http 
     .authorizeRequests() 
     .antMatchers("/admin","/admin/**").hasRole("ADMIN") 
     .anyRequest().authenticated() 
     .and() 
     .formLogin() 
     .loginPage("login") 
     .permitAll(); 
    } 
} 

Logi nController

@Controller 
public class LoginController { 

    @RequestMapping(value = "login", method = RequestMethod.GET) 
    public String loginView() { 
     return "login"; 
    } 

    @RequestMapping(value = "login", method = RequestMethod.POST) 
    public String login(@ModelAttribute Login login) { 
     return "home"; 
    } 
} 

Chỉ cần chú thích phương pháp configure(HttpSecurity http) loại bỏ ngoại lệ. Tôi đã thử thêm RequestMapping với giá trị login?error, nhưng không hiệu quả. Tôi đang thiếu gì ở đây?

Link to complete stack trace

Trả lời

11

của bạn đang thiếu một dấu gạch chéo.

này:

 .loginPage("login") 

nên là:

 .loginPage("/login") 
+0

Vâng, dấu gạch chéo được bỏ qua vì điều khiển của tôi có một 'RequestMapping' của "login" thay vì "/ login" – ItachiUchiha

+0

@ItachiUchiha '@ RequestMapping' cũng nên bắt đầu bằng'/'. – holmis83

+0

Điều bắt buộc là gì? Trước khi thêm bảo mật mùa xuân, mọi thứ chỉ hoạt động tốt mà không có '/' – ItachiUchiha

Các vấn đề liên quan