2009-08-26 5 views
0

Ich arbeite derzeit an einem ASP.NET 3.5-Intranet, das in einigen Fällen auf rollenbasierter Sicherheit sowohl auf Seitenebene als auch auf Seitenebene basiert. Ich möchte eine standortweite Suche implementieren, aber die Ergebnisse entsprechend dem einschränken, was der aktuelle Benutzer normalerweise sehen würde, wenn er eine bestimmte Seite besucht. Ich nehme an, dass es die Seite für jeden Benutzer einzeln indexieren müsste?Rollenbasierte Intranetsuche

Ich habe die ASP.NET-Community-Kontroll-Galerie sowie Google durchsucht und habe nichts gefunden, das auf eine bestimmte Art indexieren kann. Kann jemand einen Link zu einer vordefinierten Steuerung/Lösung, die dieses Szenario behandelt, oder eine benutzerdefinierte Technik, die ich ausprobieren könnte, anbieten?

Danke.

+0

Ist es ein DB CMS-System? – IrishChieftain

+0

Es ist eine maßgeschneiderte Lösung, die von SQL Server 2000 unterstützt wird. –

Antwort

0

Grundsätzlich für jede URL abrufen, Sie zusätzliche Attribute haben könnte den Benutzer auf die Ressource zur Karte wie folgt:

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

Dann könnten Sie ein Webpart, Kontrolle usw. verwenden, jedes Ergebnis angezeigt werden Link basierend auf den Anmeldeinformationen des Benutzers :-)

+0

Dies ist die beste Lösung, die ich bisher gesehen habe. Sieht so aus, als würde es die Granularität erreichen, nach der ich suche. –

0

Wenn Sie irgendwo speichern, dass welcher Inhalt auf welche Rollen zugreifbar ist, dann ist es nur eine Frage einer anderen Verknüpfung in Ihrer Abfrage.

Eine andere, aber teure Option besteht darin, die Suchergebnisse zu erhalten und sie dann basierend auf der Erreichbarkeit des anfordernden Benutzers zu filtern.

Verwandte Themen