Đổi thông tin đăng nhập từ username qua email.

Events happening in the community are now at Drupal community events on www.drupal.org.
mthcom's picture

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

rgv151's picture

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ộ

thehong's picture

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

hack2learn's picture

Great,tks man

module user

mthcom's picture

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

thehong's picture

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

mthcom's picture

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

thehong's picture

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ị

mthcom's picture

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

thehong's picture

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

jonescuong's picture

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