Phân quyền trong Spring Boot thường được thực hiện thông qua Spring Security, một framework mạnh mẽ cho việc bảo mật ứng dụng. Dưới đây là hướng dẫn chi tiết về cách cấu hình và sử dụng phân quyền trong một ứng dụng Spring Boot.

1. Cài đặt Spring Security

Để bắt đầu, bạn cần thêm dependency của Spring Security vào dự án của mình. Nếu bạn đang sử dụng Maven, thêm đoạn sau vào file pom.xml:

build.gradle

2. Cấu hình Security

Tạo một class cấu hình cho Spring Security. Class này sẽ mở rộng WebSecurityConfigurerAdapter và ghi đè các phương thức cần thiết.

UserDetailsService

Định nghĩa lớp User

@PreAuthorize

5. Cấu hình Mã hóa Mật khẩu

Để mã hóa mật khẩu, bạn cần thêm một bean cho PasswordEncoder. Thêm vào class cấu hình của bạn:

import org.springframework.context.annotation.Bean;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder;

@Bean
public PasswordEncoder passwordEncoder() {
    return new BCryptPasswordEncoder();
}

6. Chạy ứng dụng

Bây giờ bạn có thể chạy ứng dụng và kiểm tra các điểm cuối (endpoint) đã được bảo mật. Bạn có thể sử dụng một công cụ như Postman để gửi yêu cầu đến các endpoint với thông tin đăng nhập khác nhau để xem phân quyền hoạt động như thế nào.

Kết luận

Phân quyền trong Spring Boot với Spring Security rất linh hoạt và mạnh mẽ. Bạn có thể dễ dàng cấu hình quyền truy cập cho từng endpoint, cũng như sử dụng annotation để kiểm soát quyền truy cập cho từng phương thức. Hãy chắc chắn rằng bạn đã cài đặt đúng các dependency và cấu hình để có được trải nghiệm tốt nhất với bảo mật trong ứng dụng của mình.