2009-08-26 6 views
0

Je travaille actuellement sur un intranet ASP.NET 3.5 qui utilise la sécurité basée sur les rôles, tant au niveau de la page qu'au niveau du contenu de la page dans certains cas. Je souhaite implémenter une recherche à l'échelle du site, mais limiter les résultats en fonction de ce que l'utilisateur actuel verrait normalement lorsqu'il visite une page donnée. Je suppose qu'il faudrait indexer le site séparément pour chaque utilisateur?Recherche intranet basée sur les rôles

J'ai cherché dans la galerie de contrôle de communauté ASP.NET ainsi que Google, et je n'ai rien trouvé qui puisse indexer de manière spécifique. Quelqu'un peut-il offrir un lien vers un contrôle/solution pré-construit qui gérera ce scénario, ou une technique personnalisée que je pourrais essayer?

Merci.

+0

Est-ce un système de base de données DB? – IrishChieftain

+0

Il s'agit d'une solution personnalisée reposant sur SQL Server 2000. –

Répondre

0

En gros, pour chaque URL que vous vous récupérer pourriez avoir des attributs supplémentaires pour cartographier l'utilisateur à la ressource comme suit:

<a href="~/somepage.aspx" id="someLink" RoleAuth="xxx" RoleArgs="yyy" runat="server" /> 

Ensuite, vous pouvez utiliser une partie Web, contrôle, etc., pour afficher chaque résultat lien basé sur les informations d'identification de l'utilisateur :-)

+0

C'est la meilleure solution que j'ai vu jusqu'ici. On dirait qu'il atteindra le niveau de granularité que je cherche. –

0

Si vous stockez quelque part que le contenu est accessible à quels rôles, il s'agit uniquement d'une autre jointure dans votre requête.

Une autre option coûteuse est d'obtenir les résultats de la recherche, puis de les filtrer en fonction de l'accessibilité de l'utilisateur demandeur.

Questions connexes