Posted by mthcom on June 18, 2008 at 1:43pm
Hi All,
Mình đang tìm cách chuyển thông tin đăng nhập từ username sang email, mình muốn dùng email và pass để đăng nhập, bạn nào biết chỉ với.
Thanks,
Hi All,
Mình đang tìm cách chuyển thông tin đăng nhập từ username sang email, mình muốn dùng email và pass để đăng nhập, bạn nào biết chỉ với.
Thanks,
Comments
LoginToboggan
LoginToboggan sẽ giúp bạn giải quyết vấn đề đó.
http://drupal.org/project/logintoboggan
You are not 555, but I am 666 \m/
Tên module này ngộ
Tên module này ngộ thiệt á! Không đọc description của nó thì đố mà đoán được nó làm trò gì.
--
Thế Hồng
Great,tks man
Great,tks man
module user
Thanks all,
Mình mới tìm ra cách khác đơn giản hơn, không cần phải dùng đến module khác:
nếu bạn chỉ cần sửa lại trong module user thì sao nhỉ?
bạn tìm tới function user_authenticate trong file user.module
sau đó đổi name thành mail như sau:
> if ($account = user_load(array('name' => $name, 'pass' => $pass, 'status' => 1))) {
đổi thành:
> if ($account = user_load(array('mail' => $name, 'pass' => $pass, 'status' => 1))) {
vì function này check username, nên giờ đổi lại check mail là được :D
chúc vui vẽ.
Cổng trường đại học cao vời vợi!
Đồng ruộng mênh mông đón em về.
Cực kỳ nguy hiểm
Không nên hack kiểu này, chắc chắn sẽ đụng đến các tính năng khác như blogapi, ... chưa kể đến các contributed module, như services, ecommerce.
--
Thế Hồng
Re:Cực kỳ nguy hiểm
Xin chào,
Bạn có thể giải thích rỏ hơn được không?
Nếu đụng đến tính năng khác thì đụng như thế nào?
Hiện tại mình đang chạy thử và vẫn chưa thấy đụng chổ nào cả (chắc nội công yếu :D). Nếu bạn đã bị đụng rùi xin chỉ giáo dzùm.
Thanks rất là nhiều!
PT: À, bạn nên tra lại từ điển từ hack dùng cho trường hợp nào.
Cổng trường đại học cao vời vợi!
Đồng ruộng mênh mông đón em về.
Từ hack vẫn thường
Từ hack vẫn thường được dùng ở nhiều cộng đồng nguồn mở, với ý nghĩa đại khái là người sử dụng mã nguồn sửa chữa mã nguồn được phân phối để phù hợp với nhu cầu thực tế của mình, trong trường hợp không giải quyết được bằng các giải pháp bình thường, như viết module cộng thêm. Trong trường hợp, vấn đề không cần tới hack mà vẫn dùng hack thì người ta thường gọi là dirty hack, hay hack bẩn.
Trường hợp hack của bạn, module blogapi sẽ bị đụng, bởi vì module đó sử dụng hàm user_authenticate () mà bạn đã chỉnh sửa. Có thể toàn bộ kết nối từ xa sẽ hỏng hết. Tương tự các module thông qua services module.
--
Thế Hồng
Nếu bạn sợ bị
Nếu bạn sợ bị đụng tới các module khác thì vẫn còn 1 cách khác:
Thay vì đổi name thành mail, bạn chỉ việc thêm điều kiện để kiểm tra mail tương tự như name là được
if ($account = user_load(array('mail' => $name, 'pass' => $pass, 'status' => 1))) {
...
}
Nhưng cách này thì ẹ hơn, vì vừa đăng nhập được bằng email mà vừa đăng nhập được bằng username.
Chắc cái này cũng đụng tới các module khác :D.
Cổng trường đại học cao vời vợi!
Đồng ruộng mênh mông đón em về.
Tôi không có nhu cầu
Tôi không có nhu cầu đăng nhập = email, nếu có thì có lẽ tôi cũng sử dụng ***toboggan gì gì đó. Và nếu bạn thật sự cần chức năng này, bạn nên tạo một feature request issue ở d.o, mã nguồn sẽ thay đổi theo nhu cầu của số đông.
--
Thế Hồng
email_registration
Module email_registration có thể là 1 giải pháp giải quyết được vấn đề bạn đang cần
http://drupal.org/project/email_registration