Tôi muốn chuyển sang Symfony2, bởi vì tôi hoàn toàn ấn tượng bởi tính hiện đại và lập trình tốt của nó.FOSUserBundle: Mật khẩu tùy chỉnh/Di chuyển từ cấu trúc DB cũ
Bây giờ tôi đang lấy bảng người dùng từ hệ thống cũ của mình, với 10.000 người dùng và tôi không muốn làm họ tức giận bằng cách đặt họ làm mật khẩu mới .... vì vậy tôi muốn họ có thể đăng nhập bằng mật khẩu cũ của họ
đây là pseudo-code về cách bảng người dùng của tôi trông giống như với 3 lĩnh vực chính liên quan đến đăng nhập/đăng ký:
id, int(10) unsigned NOT NULL
username varchar(40) NOT NULL
passhash varchar(32) NOT NULL
secret varchar(20) NOT NULL
trên đăng ký, dữ liệu được tạo ra theo cách này:
$secret = mksecret();
$passhash = md5 ($secret . $password_formfield . $secret);
trên đăng nhập, các dữ liệu được kiểm tra theo cách sau:
if ($row['passhash'] != md5 ($row['secret'] . $password_formfield . $row['secret']))
{
//show login error
}
Vì vậy, làm thế nào để xử lý nó tốt nhất trong FOSUserBundle, mà không cần phải chỉnh sửa quá nhiều file vậy?
cảm ơn Kris, rất giải thích. Nhưng tôi nên dán bộ mã hóa mật khẩu ở đâu? – Confidence
Bạn có thể đặt lớp học đó vào một trong các nhóm của bạn. –
aight, sẽ đặt nó dưới Security \ Encoder \ MyPasswordEncoder.php – Confidence