Vous êtes ici Forums
  |  Connexion
 Forums
HomeHomeForums DNNForums DNNDéveloppementDéveloppementGroupe par défautGroupe par défaut
Précédente
 
Suivante
Nouveau message
05/02/2013 21:19
 

Bonjour,

Nous avons développé un scheduler DNN pour synchroniser régulièrement DotNetNuke avec un annuaire LDAP.
Ce scheduler a été installé sur le portail d'un client et a fonctionné parfaitement.
Quelque temps après, nous avons créé un nouveau groupe d'utilisateurs sur le portail et définit ce groupe comme groupe par défaut (assigné automatiquement à chaque nouvel utilisateur).

Aujourd'hui, on se rend que des utilisateurs ne sont pas rattachés à ce groupe par défaut. Ce sont ceux qui ont été créés à la première synchronisation avec l'annuaire LDAP. Il y en a + de 4000.

Sauriez-vous comment faire pour rattacher tous ces utilisateurs à ce groupe ? Script SQL sous SQL Server ?

Merci pour vos infos/conseils.

 

 
Nouveau message
13/02/2013 10:39
 

Bonjour,

Je relance mon sujet après une semaine. 

Personne ne peut m'aider ?

Merci

 
Nouveau message
17/02/2013 18:58
 

Bonjour,

Avant toute chose, je déconseille VIVEMENT de faire des modifications directement dans la base de données, SURTOUT si l'on n'a pas fait une sauvegarde auparavant ! Donc, en clair si vous modifiez la base SANS faire de sauvegarde, il ne faudra pas venir se plaindre si un problème survient !

Pour affecter tout un groupe d'utilisateur à un rôle, il est possible de passer par une requête SQL. Toutefois, si un "object qualifier" à été spécifié à l'installation il faudra préfixer les nom des tables dans les commandes ci-dessous par le prefixe utilisé !

Depuis SQL Server Management Studio, il faut d'abord récupérer l'identifiant du role concerné :

SELECT [RoleID],[PortalID],[RoleName] FROM [Roles]

Bien noter la valeur du RoleID correspondant au rôle à affecter, puis remplacer 'numrole' par cette valeur dans la commande ci-dessous :

INSERT [UserRoles] ([UserID],[RoleID],[ExpiryDate],[IsTrialUsed],[EffectiveDate],[CreatedByUserID],[CreatedOnDate],[LastModifiedByUserID],[LastModifiedOnDate])
SELECT [UserID], numrole, NULL, 1, NULL, -1, GETDATE(), -1, GETDATE() FROM [Users]
WHERE [UserID] NOT IN (SELECT [UserID] FROM [UserRoles] WHERE [RoleID] = numrole)

A noter que les comptes "host" (SuperUser) et les comptes 'administrateur' seront aussi affectés au role. Au besoin les supprimer par la suite via l'interface de DNN. Ce sera toujours plus rapide que d'affecter 'à la main' les + de 4000 comptes existants ! :-)

Je recommande l'achat du module Bulk User Manager de PHDobson qui permet de créer et de mettre à jour des utilisateurs via un fichier Excel, XML ou texte. Surtout lorsque l'on est une SSII car il y a une licence spéciale 'consultant' à 99.95$ permettant d'installer temporairement le module sur un nombre illimité d'instance DNN.

Gilles

 
Précédente
 
Suivante
HomeHomeForums DNNForums DNNDéveloppementDéveloppementGroupe par défautGroupe par défaut