регистрация: автоматическая генерация логина и пароля

Главные вкладки

Аватар пользователя arhboy arhboy 22 декабря 2015 в 10:57

здравствуйте
хотелось бы реализовать следующий алгоритм регистрации новых пользователей на сайте:

- для создания нового аккаунта пользователь вводит mail, капчу и нажимает ОК
- автоматически генерируется login и пароль, а на e-mail приходит письмо уведомление с этими данными (в случае неподтверждения в срок, рег удаляется)
- для дальнейших входов пользователь вводит этот login (а не e-mail) и пароль

подскажите, пожалуйста, модуль, с помощью которого можно реализовать это

усложняем задачу:
- login, который генерирует система, это не крокозяблик, вида fgh67ff78, а UIN (уникальный номер), идущий по возростанию: 71, 72, 73, 74 и т.д. (то есть для входа пользователь вводит по сути свой номер и пароль)
- присваивается он системой автоматически, по возрастанию - да, но так, чтобы можно было задать, например массивом, формат цифр или, в крайнем случае, перечислить конкретные цифры, которые система их пропусткала. т.е. присваивала не 74, 75, 76, 77, 78, 79, 80, 81 а 74, 76, 78, 79, 81 - например
- uin (login) можно было бы менять в админке принудительно (login)

если такого модуля не существует, может быть подскажете, как можно было бы изменить существующий, какой-то, который наиболее приближен по смыслу, к данному

Комментарии

Аватар пользователя sas@drupal.org sas@drupal.org 22 декабря 2015 в 12:25

> - для создания нового аккаунта пользователь вводит mail, капчу и нажимает ОК
captcha
> автоматически генерируется login и пароль, а на e-mail приходит письмо уведомление с этими данными (в случае неподтверждения в срок, рег удаляется)
core + rules (для удаления юзверя по истечению срока подтверждения)
> усложняем задачу:
unique_field + pathauto
Кракозябры - это только временная разовая ссылка , её трогать не надо!
Дать кому надо права на изменения поля c uuid основе которого будет геренирооваться pathauto для профиля пользователя , по умолчанию это user/

Аватар пользователя Formatix Formatix 22 декабря 2015 в 13:08

Проще сделать свою форму регистрации ..

<?php
  $user 
entity_create('user', array());

  

$user->roles = array(10 => 'Client');
  
$user->name _get_unique_name_($form_state['values']['user_name']);
  
$user->mail $form_state['values']['user_email'];
  
$user->status 1;
  
$user->pass user_hash_password(_generate_passwd_());

  

$ww entity_metadata_wrapper('user'$user);
  
$ww->field_one->set($form_state['values']['field_one']);
   ...
  
$ww->field_n->set($form_state['values']['field_n']);
  
$ww->save();

?>

_get_unique_name_() - генерирует уникальный логин (с вашими числами), а _generate_passwd_() - случайный пароль.