Hướng dẫn khắc phục lỗi org.springframework.security.web.firewall.RequestRejectedException trong Spring Security

org.springframework.security.web.firewall.RequestRejectedException The request was rejected because the URL was not normalized. 

Khi chúng ta thực hiện lập trình thì lỗi tạo ra thì thường xuyên với các developer. Đặc biệt khi lập trình và cấu hình với java spring framework thì việc thường xuyên gặp lỗi là điều khó tránh khỏi, trong bài viết này tôi sẽ hướng dẫn các khắc phục lỗi khi cấu hình và làm việc với spring security đó là exception RequestRejectedException.

Tình huống như sau:

Đầu tiên khi các bạn login, chúng ta có form và giao diện như sau:

Hướng dẫn khắc phục lỗi org.springframework.security.web.firewall.RequestRejectedException trong Spring Security
Hướng dẫn khắc phục lỗi org.springframework.security.web.firewall.RequestRejectedException trong Spring Security

Mặc dù các bạn đăng nhập đúng với username và password, tuy nhiên việc xử lý vẫn dừng ở với thông báo, sai tên đăng nhập hoặc mật khẩu, nghĩa là các bạn đăng nhập chưa đúng.

Vẫn thông báo lỗi org.springframework.security.web.firewall.RequestRejectedException cho dù các bạn vẫn đăng nhập đúng
Vẫn thông báo lỗi org.springframework.security.web.firewall.RequestRejectedException cho dù các bạn vẫn đăng nhập đúng

Với tình huống này chúng ta sẽ có những cách khắc phục sau:

Cách khắc phục:

Gỉa sử như các bạn đã đăng nhập đúng với username và password thì chúng ta sẽ kiểm tra các trường hợp như sau:

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.

 

Tình huống này các bạn bị lỗi trên, có thể:  bạn có thể dùng hai dâu // cùng một lúc khi truyền đường dẫn, ví dụ: projectname//login. Hoặc bạn bị lỗi này do các tham số truyền vào thẻjdbc-user-service đa ng sai. Ví dụ ở trên bạn đang dùng group-authorities-by-username-query. Với group group-authorities-by-username-query thì cần truy vấn khác trên và các bạn cần sửa lại thành tham số attribute truyền vào là authorities-by-username-query. 

Sau khi thực hiện chỉnh sửa, các bạn đã đăng nhập hoàn toàn bình thường và không còn tháy lỗi:

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized. 

 

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL was not normalized.
Chúc các bạn học tốt!