it-swarm.com.de

Weisen Sie bei der Registrierung eine Rolle zu

Ich möchte eine bestimmte Rolle zuweisen, wenn sich ein neuer Benutzer auf meiner Website mithilfe des regulären Registrierungsformulars registriert, das über das reine "authentifizierte Benutzer" hinausgeht.

Wie kann ich das machen?

6
Rob Orr

Dies ist einfach zu erreichen, indem Sie das Modul Regeln verwenden und "Ereignis" und "Aktion" so einrichten, dass sie sich so verhalten, wie Sie es möchten.

Ich habe es so eingerichtet, dass ich "nach dem Speichern eines neuen Benutzers" eine Benutzerrolle "des Typs hinzugefügt habe, den ich haben wollte. Das sollte den Trick machen.

8
Rob Orr

Dafür gibt es ein Modul: Registrierungsrolle .

Mit der Registrierungsrolle kann ein Administrator eine Rolle auswählen, die automatisch neuen Benutzern zugewiesen werden soll. Die ausgewählte Rolle wird neuen Registranten zugewiesen.

4

Probieren Sie die Module Rollenfeld und Regeln aus.

  • Erstellen Sie ein Rollenfeld, field_user_role (Kontrollkästchen/Optionsfeld) in admin/config/people/accounts/fields
  • Erstellen Sie eine Regel in admin/config/workflow/rules für die Nach dem Speichern eines neuen Benutzerkontos sogar
  • _Entity hinzufügen hat Feld> Entität: [Konto], Feld: Feldbenutzerrolle als Bedingung
  • Legen Sie einen Datenwert in Aktionen fest.
2
xck

Eine weitere Option ist das Modul Rolle automatisch zuweisen :

Die Rolle zum automatischen Zuweisen dient drei Hauptzwecken. Die erste besteht darin, eine automatische Rollenzuweisung bereitzustellen, wenn ein neues Konto erstellt wird. Die zweite besteht darin, dem Endbenutzer die Möglichkeit zu geben, seine eigene Rolle oder Rollen beim Erstellen seines Kontos auszuwählen. Die dritte Möglichkeit besteht darin, Pfade bereitzustellen, die beim Erstellen eines Kontos eine bestimmte Rolle auslösen.

2
Chapabu

Dies ist die einfachste Methode in einem benutzerdefinierten Modul.

function MY_MODULE_user_insert($account, $data) {
  $role = user_role_load_by_name('role-name');
  user_save($account, array('roles' => $account->roles + array($role->rid => $role->name)));
}
0
W.M.