2011-12-10 25 views

Trả lời

28

Không, eraseCredentials() có nghĩa là xóa dữ liệu nhạy cảm trước khi lưu giữ mã thông báo - có thể là tuần tự hóa hoặc cơ sở dữ liệu.

Để đăng xuất một người sử dụng lập trình, bạn có thể sử dụng này:

$this->get('security.context')->setToken(null); 
$this->get('request')->getSession()->invalidate(); 
+0

Ồ như mật khẩu? –

+0

Có, nếu bạn lưu trữ chúng dưới dạng bản rõ. –

+0

Ồ không, tôi không lưu trữ chúng dưới dạng văn bản thuần túy, nhưng tôi nghĩ tôi vẫn nên xóa chúng? –

0

Ngoài những gì đã được nói bởi Elnur Abdurrakhimov, tôi đề nghị kiểm tra this article, giải thích như thế nào và tại sao chúng ta nên sử dụng diện người dùng :: eraseCredentials phương pháp. Về cơ bản, không nên sử dụng lại thuộc tính mật khẩu để lưu trữ mật khẩu văn bản thuần túy và sau đó ghi đè lên bằng phiên bản được mã hóa, vì đó là lỗi tiên quyết - lập trình viên có thể quên mã hóa mật khẩu và tiếp tục tồn tại đối tượng, lưu trữ đồng bằng văn bản thay vì mật khẩu được mã hóa.