ADAM (Active Directory en mode application) fournisseur de rôles sur mesure
Introduction à l'ADAM fournisseur de rôles Standard
ADAM (Active Directory Application Mode sur) est devenue de plus en plus commune pour les entreprises qui souhaitent mettre en œuvre un protocole d'annuaire plume à utiliser au sein de leur environnement SharePoint. Avec Adam, la mise en place le rôle des principes de sécurité en fonction est commune parce qu'elle est une architecture extensible qui offre les avantages d'Active Directory sans que la direction et les frais généraux de mise en œuvre, et permet également la notion de rôles contraignant à des opérations qui est une fonction très utile, car au-delà de qualité comme un rôle et l'utilisateur de stocker des données, l'instance ADAM peut devenir un moteur permettant de lancer un mixte, intégré SharePoint et environnement de l'application divers. Le fournisseur de rôle Azman limite les utilisateurs que vous pouvez intégrer avec le fournisseur LDAP enfichables à ceux qui décident de l'identité tangibles Windows (il doit être un compte de domaine), qui est évidemment un problème pour les personnes qui souhaitent utiliser les utilisateurs ADAM seulement. Avec un soutien accru pour ADAM dans SharePoint 2007, l'exigence des clients est devenue encore plus nombreux et pour certains, le manque de soutien rôle est devenu un sujet de préoccupation.
La nécessité d'une rôle de fournisseur
Dans d'autres articles dans le site (notamment ici ), il ya eu des explications détaillées qui vont en utilisant le AvtiveDirectoryMembershipProvider dans votre environnement SharePoint et comment le faire, et ce fournisseur est en effet incroyablement central lors de l'application ADAM dans votre environnement SharePoint pour l'autorisation de l'utilisateur. Toutefois, il est nécessaire de mettre en œuvre un fournisseur personnalisé qui sera en charge la fonctionnalité même rôle que le type est disponible à d'autres fournisseurs aux utilisateurs ADAM même, permettant de contourner la limitation de l'appui que l'attribution des rôles aux comptes de domaine réel.
Le fournisseur qui vient avec l'instance par défaut d'Adam est AuthorizationStoreRoleProvider, qui couples avec la fonctionnalité qui est fournie par le Gestionnaire d'autorisations. La communication réelle qui se passe avec un (Primary Interop microsoft.interop.security.azroles.dll), qui est un objet COM (voir prochainement) importés de la bibliothèque de types AZROLESLib. Les fonctions d'appartenance de ADAM avec les dernières versions de ADAM est pris en charge, et les principes de stockage sans résoudre les identités Windows fonctionne très bien.
Fonctionnalité fournisseur de rôles
Il existe plusieurs niveaux de fonctionnalités prises en charge qui existent dans le fournisseur de rôles par défaut qui sont étendus dans le fournisseur personnalisé qui est disponible ici. Notamment, AddUsersToRoles, CREATEROLE, DeleteRole, FindUsersInRole, GetAllRoles, GetRolesForUser, GetUsersInRole, IsUserInRole, RemoveUsersFromRoles, RoleExists, et d'autres fonctions de niveau inférieur comme les noms se demande. La plupart des méthodes qui sont dans le fournisseur de rôle ADAM doit ressembler à d'autres fournisseurs qui doivent être construits afin de soutenir les opérations de base de données d'autres origines, que ce soit Oracle, plate-texte, DB2, Informix ou, le fournisseur de rôle d'Adam aura plusieurs caractéristiques qui sont les mêmes.
Il ya des concepts plus importants qui doivent être considérés avec le fournisseur de rôle d'Adam. La première consiste à prendre la notion de nom de l'application en considération, dans ce cas, il se fait par référence à l'application ADAM qui à son tour fournir les méthodes qui sont nécessaires afin de parler de retour la navette entre le fournisseur de rôle et le magasin de données backend ADAM, Ceci est important afin de permettre la séparation des points de données fournies par le nom de l'application de sorte que les vecteurs multiples peuvent exister. Parce que plusieurs applications peuvent exister qui sont utilisés par un fournisseur, un attribut peut être exprimé en faveur de la fonctionnalité determinably fournisseur. Si, dans les fichiers de configuration un nom d'application n'est pas spécifié, alors le nom d'application par défaut tel que déterminé par le cadre. Net. Ceci peut être étendu lorsque assimiler la notion de champs d'application ADAM qui vous permettent d'exploration vers le bas encore plus loin.
Depuis champs sont beaucoup moins courantes que les champs d'application, permet de voir un bref aperçu sur l'obtention d'un nom d'application.

La première chose que nous avons à faire est d'initialiser un nouvel objet AuthorizationStore en appelant une nouvelle AzAuthorizationStoreClass (). Après, nous avons pour obtenir les valeurs que nous avons besoin à des sections de configuration (les chaînes de connexion qui sont spécifiés), puis appelez OpernApplication () de microsoft.interop.security.azroles.dll et retourner le nom de l'application.
Tout d'abord, il ya le concept que le prestataire devra hériter de la classe de base RoleProvider, qui se tient hors de l'espace de noms System.Web.Security. Contrairement à d'autres concepts introduits sur le site, comme l'utilisation de modèles de façades (modèles d'usine qui se développent d'une interface générique pour fournir un certain ensemble de fonctionnalités, voir ici) pour l'interaction prestataire de transactions, le fournisseur de rôle d'Adam est un peu plus spécifique, à savoir, par opposition à modèles d'usine base de données qui sont abstraites les méthodes introduites sont en fait en béton par la nature.
Rôle des fournisseurs sont très faciles à écrire et à mettre en œuvre, car ils sont généralement peu étanche ou abstrait classes, et les paramètres qui sont massés sont très simpliste, ce sont des noms de rôle, et les utilisateurs qui sont associés à ces noms de rôle. Il ya un couple de méthodes qui devraient toujours être mis en œuvre, et d'autres qui peuvent être considérées comme bien éventuellement, n'en sont pas moins très important.

A titre d'exemple, permet d'examiner la méthode la plus évidente, en créant des rôles. Ceci est fait en utilisant les méthodes CREATEROLE, qui se bornera à créer un nouveau rôle dans le magasin de données back-end. Il ya bien sûr des conditions qui doivent être vérifiées avant la connexion au magasin de données qui fournit ADAM avant de créer réellement le nouveau rôle avant l'exécution des actions de commettre. La première consiste à examiner les conditions de caractère illégal, et la seconde est que le nom de rôle n'est pas tout d'abord exister. Vérifier si le nom existe déjà peut être obtenue par simple itération dans les rôles disponibles, puis de déterminer si les noms de rôle qui sont retournés correspondent à ceux qui sont passés en tant que paramètre:

La seconde condition à vérifier est de savoir si il ya des caractères illégaux qui se trouvent dans le nom de rôle. Cela se fait en faisant une instruction if et en utilisant un IndexOf pour dire si l'adopté en chaîne de caractères en effet dans le nom de rôle. Le seul qui est techniquement illégale avec un fournisseur de rôle est en fait une virgule, mais si vous avez des normes que vous devez mettre en œuvre afin de se conformer à une exigence nom de rôle, vous pouvez utiliser le même type de technique.

Après les conditions sont remplies, il est temps que vous pouvez effectivement ajouter le rôle que vous voulez.
Les méthodes qui sont nécessaires que vous pouvez voir sont assez simples et faciles à mettre en œuvre, bien que cet article ne seront pas les détailler toutes, il ya quelques concepts centraux qui devraient être couverts. 
Configuration des éléments
Comme avec les autres fournisseurs qui sont mises en œuvre pour votre environnement SharePoint, l'un des changements les plus importants que vous ferez sont les éléments de configuration pour l'application Web. Ceci est accompli en deux endroits différents, les chaînes de connexion des éléments afin que la connexion LDAP peuvent être réalisés et la section Gestionnaire de rôle, qui détermine le type de fournisseur, la référence aux paramètres des chaînes de connexion, et le nom de l'application car il aidera à définir les champs d'application pour vos applications d'entreprise.
La première est à mettre en place la chaîne de configuration qui va définir les connexions qui sont apportées à la banque de données ADAM.
- connectionStrings <>
- ConnectionString =
- "LDAP: / / ADAM.sharepointsecurity.com / OU = exemple, dc = sharepointsecurity, DC = com" />
Le deuxième objectif est de permettre le gestionnaire de rôles, définir le fournisseur par défaut pour le fournisseur de rôle d'Adam, puis définissez le nom d'application dans les éléments de configuration. Le nom du type est le nom de rôle personnalisé fournisseur, dans ce cas ARB.ADAM.RoleProvider.
- roleManager <enabled = "true" defaultProvider = "directoryProvider">
- fournisseurs de <>
- <Clair />
- <Ajouter name = "ADAMRoleProvider" type = "ARB.ADAM.RoleProvider" connectionStringName = "ADAMStoreConnection" ApplicationName = "SharePoint" />
Pas de commentaire »
Pas encore de commentaires.
Flux RSS pour les commentaires sur ce post. TrackBack URL































