Kể từ Spring Security 3.1.4.RELEASE, cũ org.springframework.security.authentication.encoding.PasswordEncoder
has been deprecated có lợi cho org.springframework.security.crypto.password.PasswordEncoder
. Vì đơn đăng ký của tôi chưa được công bố cho công chúng, tôi quyết định chuyển sang API mới, không được chấp thuận.Cách sử dụng PasswordEncoder mới từ Spring Security
Cho đến bây giờ, tôi đã có một ReflectionSaltSource
tự động sử dụng ngày đăng ký của người dùng làm muối cho mỗi người dùng đối với mật khẩu.
String encodedPassword = passwordEncoder.encodePassword(rawPassword, saltSource.getSalt(user));
Trong quá trình đăng nhập, mùa xuân cũng sử dụng đậu của tôi để chiếm đoạt xác minh nếu người dùng có thể hoặc không thể đăng nhập tôi không thể đạt được điều này trong bộ mã hóa mật khẩu mới, vì việc thực hiện mặc định của SHA-1. - StandardPasswordEncoder
chỉ có khả năng thêm muối bí mật toàn cầu trong quá trình tạo bộ mã hóa.
Có phương pháp hợp lý nào về cách thiết lập nó với API không được chấp nhận không?
Vậy nếu bạn thực sự có người dùng đã đăng ký thì sao? Tôi giả định rằng Passwordencoder sẽ được gỡ bỏ tại một số điểm. Cách di chuyển? – Marc
Tài khoản di chuyển thường yêu cầu bạn băm mật khẩu khi người dùng đăng nhập thành công. Bạn cũng sẽ phải hỗ trợ nhiều thuật toán cho giai đoạn di chuyển. Ngoài ra, bạn có thể yêu cầu đặt lại mật khẩu hoặc cuối cùng là khóa hoặc xóa các tài khoản không sử dụng đã không được sử dụng trong một khoảng thời gian bổ sung. Nó phụ thuộc vào hệ thống và yêu cầu của bạn. Tôi chắc rằng bạn có thể tìm thấy các cuộc thảo luận về nó nếu bạn thực hiện một số tìm kiếm, vì đó là một vấn đề phổ biến và trở nên có liên quan hơn khi số lượng thỏa hiệp db mật khẩu tăng lên. Ít nhất bạn không sử dụng [plaintext] (http://ow.ly/qZQh0) :-). –
Tôi có một ứng dụng đang hoạt động và đang sử dụng PasswordEncoder cũ với muối. Có ví dụ nào về cách di chuyển sang PasswordEncoder mới không? – user2213684