我很确定这是不可能的,但我想知道是否有人可以想办法允许匿名用户编辑webform提交。我们允许用户注册求职代理,他们匿名提供他们的电子邮件地址,然后提交他们正在寻找的工作类型的一些偏好,然后我们通过电子邮件向他们发送可用的工作。我们不希望这些用户必须创建实际的Drupal注册并且必须记住另一个密码。我们希望它对他们来说非常容易。所以他们可以匿名提交表格,但问题是如果他们想在以后回来编辑他们的偏好,他们不能,因为Drupal不会知道他们是谁。我在考虑可能在提交网络表单时使用他们的电子邮件地址和基本密码在幕后创建官方用户注册,当他们回到网站时,他们以我在自定义模块中创建的单独表单提供他们的电子邮件地址,然后我可以根据电子邮件地址进行用户查找并自动登录(如果可能的话),然后将它们发送到webform?你认为这会有效吗,还是他们更好地解决这种困境?
答案 0 :(得分:0)
我认为您的解决方案会奏效。我过去做过类似的事。
用户只需访问特定网址(例如/ login / USER_NAME)即可登录。然后,您可以发送带有此链接的电子邮件,一旦他们访问该网站,他们就会自动登录。
要创建用户帐户,请使用以下内容:
$new_user = array(
'name' => $name, // this could also just be the email address if you are not collecting a name
'pass' => 'password', // hardcoded password - same for every user
'mail' => $email,
'status' => 1,
'init' => $email,
);
user_save('', $new_user);
然后要登录,您可以使用:
if ($uid = user_authenticate($username, 'password')) {
global $user;
$user = user_load($uid);
$login_array = array ('name' => $username);
user_login_finalize($login_array);
}