2010-03-08 4 views
5

J'utilise actuellement ActiveDirectoryMembershipProvider uniquement pour l'authentification sur une application métier interne intégrée à asp.net. Cela fonctionne comme un charme.Profils/attributs utilisateur personnalisés Active Directory?

Je cherche maintenant à ajouter quelques fonctionnalités pour gérer les informations de profil personnalisées pour un utilisateur, idéalement également stockées dans Active Directory.

Pour un exemple simple, disons simplement que l'attribut personnalisé est FavoriteColor. Ensuite, l'objectif serait que mon application puisse lire dans cet attribut personnalisé pour l'utilisateur authentifié.

J'ai examiné un peu ADAM. Cela ressemble à ce serait génial pour un fournisseur de rôles, mais je n'ai pas vraiment trouvé quelque chose qui indique que cela fonctionnerait bien pour un fournisseur de profil ou s'il me permettrait même de stocker des attributs personnalisés comme FavoriteColor. Peut-être que quelqu'un sait mieux?

Je suis également nouveau dans Active Directory, alors peut-être y-a-t-il une option pour stocker des attributs utilisateur personnalisés (comme FavoriteColor) à l'intérieur?

En général, je cherche juste des idées sur la meilleure façon de mettre en œuvre cela?

Merci!

Répondre

6

Oui, il est possible d'ajouter un tel attribut à l'objet utilisateur AD, mais vous devez être très prudent. Les modifications apportées lors de la modification du schéma ne peuvent pas être annulées. Il est trop facile d'endommager gravement votre arborescence Active Directory.

Pour effectuer des modifications de schéma, vous pouvez utiliser le composant logiciel enfichable MMC Éditeur de schéma Active Directory. Vous devez enregistrer le composant logiciel enfichable avant de pouvoir l'utiliser. Pour enregistrer l'éditeur de schéma Active Directory, ouvrez une invite de commande, tapez regsvr32 schmmgmt.dll

Ensuite, vous pouvez charger le composant logiciel enfichable dans MMC, ajouter un nouvel attribut FavouriteColour et le lier à la classe d'utilisateurs.

À moins que vous ne sachiez vraiment ce que vous faites, il est probablement plus sûr d'utiliser une table DB pour ces champs. This site a plus d'informations.

+0

Merci pour votre réponse Andrew. Il est bon de savoir que c'est possible, même si cela semble avoir le potentiel de maux de tête. –